随笔分类 - 设计模式
摘要:单一职责原则(SRP Single Responsibility Principle) 定义: 不能存在多于一个导致功能变更的原因。 不遵守导致的问题: 指责扩散,指责扩散就是某种原因,职责A被分化为粒度更细的职责A1和职责A2。 平时开发中的代码策略: 1.对不同的功能严格遵守SRP,创建单一职责
阅读全文
摘要:"Initialization" 在这篇文章中博主开头说的这样情况非常常见并且一直困扰着我,因为像我这种靠纯代码写的人,不单单阅读代码,而且还要精简代码以至优雅,博主的思路恰恰帮助了我,所以我特地记录一下,并且日后来不断优化。 1.使用场景 例如一个自定义控件,它有很多属性,如果使用这个控件,就要对
阅读全文
摘要:做了一个项目,项目中一个藏品详情界面针对不同用户,和用户所处于的状态的不同,展示的效果和操作的权限都会不同。想到了状态模式,从来没有用过,赶紧学一下然后用一用。期待兴奋 看了这么多的博客,终于找到一个可以分享的博客啦, "这里" 1.事必有因 我有一个视图层,在这个视图层上展示的效果和操作行为是一个
阅读全文
摘要:适配器模式: 1.出现场景 TableViewCell视图层 输出 无论NSData怎么变化,数据都可以显示在视图层中。 2.组成结构 输入 【适配器】 输出 (数据层) 【适配器】 (视图层) 1.类适配器:为了适配输入专门初始化一个类来适配 2.对象适配器:只有一个类来处理输入 常见的输入和输出
阅读全文
摘要:疑问来自: "这里" 1.事出有因 其中博主说道的情况我其实也经历过,当时还在找到一个模式可以改变这样的情况。直到有一天看到这个博客,今天晚上有时间来规整一下博主的思路和写了一个测试代码。 这是我目前的App结构中VIewController的抽象类: 目前对我来说存在(博主说了三个问题,2.上手接
阅读全文
摘要:1.梳理的 单例模式 :独一无二的对象 工厂模式 :烘烤OO的精华 模板模式 :封装算法 代理模式 :控制对象访问 观察者模式 :让你的对象知悉现况 装饰者模式 :装饰对象 适配器与外观模式 :随遇而安 2.重新需要梳理理解 命令模式 :封装调用 状态模式 :事物的状态 复合模式 :模式中的模式 迭
阅读全文
摘要:工厂 1.创建实例对象 2.对实例对象进行了封装 客户: 1.不参与实例对象的过程 2.客户提出实例对象的需求 1.工厂方法模式设计原则 要依赖抽象,不要依赖具体类 2.描述 工厂模式英文名:Factory Pattern,工厂模式是我们常用的实例化对象的模式。《Head First》中说工厂模式烘
阅读全文
摘要:参考 "objc@interface设计" 1.设计模式原则 多组合,少继承 类对拓展开放,对修改关闭 派生的子类接口是在编译时就静态决定的,而所有子类都会继承到相同的接口。然而,利用组合或者说装饰模式来拓展抽象类的接口,就可以在运行时动态的进行扩展。 2.概述 装饰模式英文名叫Decorator
阅读全文
摘要:观察天地万物的变化,自己的皮肤表皮、空气的湿度、阳光的温度…… 《Head First》中说道,出版者 + 订阅者 = 观察者模式 1.定义观察者模式 观察者模式定义了出版者对象和订阅者对象之间一对多依赖,这样一来,当出版者对象改变状态时候,它的所有订阅者对象都会受到通知并自动更新。 2.观察者模式
阅读全文
摘要:OOP中三个原则:封装、继承、多态, 取经 "地址" 1.设计原则 找到应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起,利用封装。 针对接口编程(针对超类设计接口,利用多态),而不是针对实现编程。 多用组合,少用继承 —— 策略模式精髓。 2.个人愚见 策略模式我理解应该
阅读全文
摘要:SingletonPattern 取经的地址 "这里" 1.单例模式作用和缺点 共享资源 管理中心 缺点:增加耦合 2.严格单例的要求 严格的单例模式是无法通过alloc init 方法来生成单例对象的。 不能派生子类,即使派生子类,子类也无法创建单例对象。 防止单例对象被释放。 3.单例模式的应用
阅读全文
摘要:类簇是在Objective C中Foundation Framework中广泛使用的一种设计模式 1.发现类簇(Class Cluster)的踪迹
阅读全文