iOS架构模式浅析
这是以前旧博客在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架构模式浅析的更多相关文章
- iOS 架构模式-MVVM
iOS 架构模式-MVVM MVVM Model-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身. 做一个简单的登录判断: 创 ...
- iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构
本文由CocoaChina译者lynulzy(社区ID)翻译 作者:Bohdan Orlov 原文:iOS Architecture Patterns 在 iOS 中使用 MVC 架构感觉很奇怪? 迁 ...
- iOS - 架构模式 - 解密 MVC、MVP、MVVM、VIPER架构
在 iOS 中使用 MVC 架构感觉很奇怪? 迁移到MVVM架构又怀有疑虑?听说过 VIPER 又不确定是否真的值得切换? 相信你会找到以上问题的答案,如果没找到请在评论中指出. 你将要整理出你在 i ...
- 【Swift实现代码】iOS架构模式之MVP
1.什么是MVP? MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 1.1 模型 (Model):负责处理数据的加载或存储 1.2 视 ...
- iOS 架构模式
参考:http://www.cocoachina.com/ios/20160108/14916.html MVC , MVP , MVVM , VIPER
- iOS 架构模式MVVM
MVVM Model-View-ViewModelMVVM 其实是MVC的进化版,他将业务逻辑从VC中解耦到ViewModel,实现VC的瘦身. 做一个简单的登录判断: 创建LoginViewMode ...
- iOS - 架构的认识过程,悬崖勒马。
16年的时候写过一篇代码讲解的,依旧是这三种架构,现在20年将近了,看到好的文章,是否增加新的认识. 16年链接 iOS - 架构模式 - 解密 MVC.MVP.MVVM.VIPER架构 新项目选择架 ...
- iOS - MVP 架构模式
1.MVP 从字面意思来理解,MVP 即 Modal View Presenter(模型 视图 协调器),MVP 实现了 Cocoa 的 MVC 的愿景.MVP 的协调器 Presenter 并没有对 ...
- iOS开发之--MVC 架构模式
随着项目开发时间的增加,从刚开始那种很随意的代码风格,逐渐会改变,现在就介绍下MVC的架构模式,MVC的架构模式,从字面意思上讲,即:MVC 即 Modal View Controller(模型 视图 ...
随机推荐
- 优化 SQL SELECT 语句性能
SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则.20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间. 检查索引:在SQ ...
- 分享下自己写的一个微信小程序请求远程数据加载到页面的代码
1 思路整理 就是页面加载完毕的时候 请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码 我是改的 onload函数 /** * 生命周期函数--监听页面加载 */ on ...
- 深度学习原理与框架-Tfrecord数据集的读取与训练(代码) 1.tf.train.batch(获取batch图片) 2.tf.image.resize_image_with_crop_or_pad(图片压缩) 3.tf.train.per_image_stand..(图片标准化) 4.tf.train.string_input_producer(字符串入队列) 5.tf.TFRecord(读
1.tf.train.batch(image, batch_size=batch_size, num_threads=1) # 获取一个batch的数据 参数说明:image表示输入图片,batch_ ...
- CentOS开机自动运行自己的脚本详解
一.root权限编辑/etc/rc.d/rc.local su cd /etc/rc.d/ vi rc.local 二.在这个文件加上你要执行的脚本,全部内容如下: #!/bin/sh # # Thi ...
- docker 部署tomcat
使用Docker搭建Tomcat运行环境 1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS ...
- android 个人使用总结
android 中button控件去除阴影背景 style="?android:attr/borderlessButtonStyle" android 中输入账号和密码是做判断处 ...
- linux 查找java程序、杀死、重启
查看java进程 ps -ef|grep java杀死进程 kill -9 4834 (进程号)启动 java -jar xxx.jar & (后台会一直运行)
- swift 监测内存泄漏 MLeaksFinder
使用MLeaksFinder检测项目内存泄露总结 https://www.cnblogs.com/ocarol/p/5288497.html
- 浅谈js抽象工厂模式
一.简单工厂 定义:简单工厂模式中,可以根据参数的不同返回不同类的实例.简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 比如你去专门卖鼠标的地方你可以买各种各样的 ...
- Retrofit 2.0基于OKHttp更高效更快的网络框架 以及自定义转换器
时间关系,本文就 Retrofit 2.0的简单使用 做讲解 至于原理以后有空再去分析 项目全面.简单.易懂 地址: 关于Retrofit 2.0的简单使用如下: https://gitee.c ...