小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
通过问题看本质!!!
架构、框架、设计模式这三者之间有什么关系呢?首先你要知道它们的概念,才能清楚它们的关系,才能用好它们。有时候你觉得懂了,就是无法表达出来,这就要总结了,多输出,才能记得牢。
架构
顶层概括性的设计概念,像是蓝图。它的出现是为了管理复杂的程序,让我们在一个时间内专门关注一个方面。例如在不依赖业务逻辑的情况下,更加专注视图的实际。让测试变得更加简单,也更加易用易懂。
我们常说的MVC、MVVM、MVP等架构。架构的出现就是为了层次分明,各司其职。比如MVVM架构,M层就专门负责实现视图相关的功能,VM层就负责处理业务逻辑,这样就可以让不同的人去完成,更加利于团队合作开发。
架构像是一个交通枢纽,公交站、地铁站、高铁站分布在不同的楼层,由不同的人去负责。
框架
简单来说就是代码复用。框架可以理解成已经解决问题的具体实现方法,能够直接执行或者复用,比如我们常见的Foundation框架、UIKit框架。也可以二次开发进行定制化功能,比如我们会对AFNetwoking框架进行二次封装。
设计模式
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
一种问题的解决思路,为了解决某些问题,从而形成解决问题的方案规范。
设计模式强调的是设计问题的解决方案,框架强调的是已经解决了问题的实现。
总结
我们在开发过程中,软件通过架构,可以设计出很多框架。在一个框架中可以使用很多设计模式。
但是设计模式不是越多越好,过度的设计往往会适得其反,把我们的程序变得复杂。