Skip to content
Tamerlan Satualdypov edited this page Aug 1, 2023 · 2 revisions

Model-View architecture is a software design pattern that separates the representation of data from the presentation of data. In this architecture, the model represents the data and define the logic that manipulates this data, while the view is responsible for presenting the data to the user. This pattern provides more natural way to write an application on declarative framework (SwiftUI), eliminating unnecessary complexity and extra work for no visible benefits.

Philosophy

Do not complicate the simple things. This makes the philosophy of this architecture. The primary goal of software architecture is to provide a solid foundation for the development of a project, ensuring it remains maintainable and scalable over time. However, in the pursuit of making code more testable, we can sometimes fall into the trap of introducing excessive protocols and abstractions, ultimately leading to increased complexity. Therefore, do not over-engineer and blindly follow some principles or someone's strategy, because you could end up using sledgehammer to crack a nut. Use a framework as it was intended and do not fight it.

Clone this wiki locally