这是以前旧博客在13年规划写的一个系列,写了一部分内容,还没有完成。现在重新整理编写。计划从基础知识六大设计原则、设计模式中类的关系开始,然后会对iOS开发中的常用架构模式进行介绍,最后对GoF的23种设计模式进行分析。由于本人编写本系列文章时也是边学习边整理,因此持续的时间会比较长,更多的是希望和大家一起交流,共同进步。文章中有错误的地方或者不足的地方,欢迎大家提出宝贵的意见。

  下面的目录结构是现在的规划,后期可能会有一些调整,具体得看时间的安排。

第一部分 设计模式的六大设计原则

1.单一职责原则(Single Responsibility Principle)

2.里氏替换原则(Liskov Substitution Principle)

3.依赖倒置原则(Dependence Inversion Principle)

4.接口隔离原则(Interface Segregation Principle)

5.迪米特法则(Law Of Demeter)

6.开放-关闭原则(Open-Close Principle)

第二部分 设计模式中类的关系

7. 泛化(Generalization)

8.实现(Realization)

9.依赖(Dependence)

10.关联(Association)

11.聚合(Aggregation)

12.组合(Composition)

13.类的关系总结

第三部分 iOS开发中的架构模式

14.MVC 

15.MVVM

16.MVCS

17.MVP

18.VIPER

第四部分 创建型设计模式

19.单例模式

20.原型模式

21.建造者模式

22.简单工厂模式

23.工厂方法模式

24.抽象工厂模式

25.创建型设计模式小结

第五部分 结构型设计模式

26.适配器模式

27.桥接模式

28.组合模式

29.装饰模式

30.外观模式

31.享元模式

32.代理模式

第六部分  行为型设计模式

33.模板方法模式

34.命令模式

35.解释器模式

36.中介者模式

37.迭代器模式

38.观察者模式

39.职责链模式

40.备忘录模式

41.状态模式

42.策略模式

43.访问者模式

iOS架构模式浅析的更多相关文章

  1. iOS 架构模式-MVVM

    iOS 架构模式-MVVM MVVM Model-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身. 做一个简单的登录判断: 创 ...

  2. iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构

    本文由CocoaChina译者lynulzy(社区ID)翻译 作者:Bohdan Orlov 原文:iOS Architecture Patterns 在 iOS 中使用 MVC 架构感觉很奇怪? 迁 ...

  3. iOS - 架构模式 - 解密 MVC、MVP、MVVM、VIPER架构

    在 iOS 中使用 MVC 架构感觉很奇怪? 迁移到MVVM架构又怀有疑虑?听说过 VIPER 又不确定是否真的值得切换? 相信你会找到以上问题的答案,如果没找到请在评论中指出. 你将要整理出你在 i ...

  4. 【Swift实现代码】iOS架构模式之MVP

    1.什么是MVP? MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 1.1 模型 (Model):负责处理数据的加载或存储 1.2 视 ...

  5. iOS 架构模式

    参考:http://www.cocoachina.com/ios/20160108/14916.html MVC , MVP , MVVM , VIPER

  6. iOS 架构模式MVVM

    MVVM Model-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身. 做一个简单的登录判断: 创建LoginViewMode ...

  7. iOS - 架构的认识过程,悬崖勒马。

    16年的时候写过一篇代码讲解的,依旧是这三种架构,现在20年将近了,看到好的文章,是否增加新的认识. 16年链接 iOS - 架构模式 - 解密 MVC.MVP.MVVM.VIPER架构 新项目选择架 ...

  8. iOS - MVP 架构模式

    1.MVP 从字面意思来理解,MVP 即 Modal View Presenter(模型 视图 协调器),MVP 实现了 Cocoa 的 MVC 的愿景.MVP 的协调器 Presenter 并没有对 ...

  9. iOS开发之--MVC 架构模式

    随着项目开发时间的增加,从刚开始那种很随意的代码风格,逐渐会改变,现在就介绍下MVC的架构模式,MVC的架构模式,从字面意思上讲,即:MVC 即 Modal View Controller(模型 视图 ...

随机推荐

  1. 为何要使用ViewModel

    ViewModel类是用来存储和管理与UI相关的数据,在设计之初就考虑到生命周期的影响.ViewModel允许数据在屏幕旋转等配置变化后存活. Android framework管理UI控制器(如Ac ...

  2. VS2017打包设置

    本文为网络贴文,引用于:http://www.cnblogs.com/overstep/p/6942423.html 一.  安装打包插件: 安装打包插件:Microsoft Visual Studi ...

  3. idea导入项目

    1. 2.导入项目 3.右键项目选择web 4.编辑添加tomcat 5.添加jar.包 6. 7.右键put into 8.安装tomcat 9.引入tomcat 10.把项目布署到tomcat

  4. Java中的反射总结

    反射是获取运行时类信息,即常量区中的Class信息. 要获取类信息,必然需要依据,不然系统怎么指定你要获取那个类信息, 类信息在java中就是Class类的一个对象,它是一个java类抽象,换句话说它 ...

  5. CodeSmith 代码生成器

    在上一篇我们已经用PowerDesigner创建好了需要的测试数据库,下面就可以开始用它完成批量代码生成的工作啦. 下面我会一步步的解释如何用CodeSmith实现预期的结果的,事先声明一下,在此只做 ...

  6. 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误

    转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...

  7. 初试Python语法小试牛刀之冒泡排序

    Python很火,心里很慌,没吃过猪肉,也要见见猪走路. 看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557 ...

  8. 算法题——给定一个数组 arr,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

    参考自:https://blog.csdn.net/qq_38200548/article/details/80688630 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] ...

  9. c++ 面试题(操作系统篇)

    1,消息队列: https://kb.cnblogs.com/page/537914/ 2,fork中父进程和子进程的资源联系: https://blog.csdn.net/weixin_422506 ...

  10. [SpringBoot]Web综合开发-笔记

    Web开发 Json接口开发 @RestController 给类添加 @RestController 即可,默认类中的方法都会以 json 的格式返回. 自定义filter filter作用: 用于 ...