美文网首页
Head First 设计模式(待)

Head First 设计模式(待)

作者: 费宇超 | 来源:发表于2017-05-15 16:44 被阅读32次

观察者模式
http://www.runoob.com/design-pattern/observer-pattern.html
http://www.jianshu.com/p/d55ee6e83d66
观察者不需要时刻盯着被观察者(例如A不需要每隔1ms就检查一次B的状态),二是采用注册(Register)或者成为订阅(Subscribe)的方式告诉被观察者:我需要你的某某状态,你要在它变化时通知我。采取这样被动的观察方式,既省去了反复检索状态的资源消耗,也能够得到最高的反馈速度。

类似的观察者,在iOS 中和 Java中都有实现。Java中有两种:通知由通知者主动发出,另一个种是被通知者主动去拉取最新状态(应该也有不同的实际应用场景吧)

在iOS中KVO的本质就是监听对象的属性进行赋值的时候有没有调用setter方法,具体如下:1:KVO的本质就是监听对象的属性进行赋值的时候有没有调用setter方法. 如果有调用setter方法, 就会接收到属性变更的通知, 反之则没有.2:当某个类的实例对象的key第一次被观察时,系统就会在运行期动态地创建该类的一个派生类NSKVONotifying_类名,在这个派生类中重写该类中被观察的属性的 setter 方法。
如果我们自己要实现这个功能的话,只需要按葫画瓢,1先构建一个对象的派生类。2使当前对象的isa指向新的派生类,就会调用派生类的set方法。3重写派生类的set方法,在set方法中拿到观察者(使用运行时关联观察者这个属性)。4每次重写set方法,都调用观察者的ml_observeValueForKeyPath方法。实现时刻监听。
http://www.cocoachina.com/industry/20140107/7667.html

装饰者模式?可能是指category,比delegate的优势在于静态决定,组合的做法扩展,运行时动态扩展。

工厂模式...
其实吧,以前没有这个概念,但是一直在使用,比如定义一个basemodel生物都具有属性生存,子类人,狗,猫,再去继承这一个大类。自这么做的好处是解耦和易于修改。好像理解不全面:
http://www.jianshu.com/p/8cf0b9804e1b 抽象工厂
http://www.jianshu.com/p/750b82fa6a62
工厂方法模式:每个抽象产品派生多个具体产品类,每个抽象工厂类派生多个具体工厂类,每个具体工厂类负责一个具体产品的实例创建;

抽象工厂模式:每个抽象产品派生多个具体产品类,每个抽象工厂派生多个具体工厂类,每个具体工厂负责多个(一系列)具体产品的实例创建。

反射与映射 反射,在OC中json转换成model是最好的体现,缺点是逻辑没有暴露出来,不易维护,还有就是效率低;映射1对多,应该就是coredata存储中1个属性对应其他多个的意思。

单件模式...
之前有看到过不要使用太多的单例,那么在程序中要实现一个类似单例的才具有的功能,还有什么好的替代方法呢?::
单例模式是什么可以去看《设计模式》,在一些公共资源上可以使用单例模式来全局访问,除了这个我建议尽量不要使用单例

之前还看到一种self-manager模式
就是尽量一个器件的逻辑交给自己去实现,成为一个个体,链接如下
http://blog.sunnyxx.com/2015/12/19/self-manager-pattern-in-ios/

命令模式?
适配者和外观模式?
模板方法模式?
迭代器组合模式
状态模式
代理模式
复合模式
真实世界模式

相关文章

  • Head First 设计模式(待)

    观察者模式http://www.runoob.com/design-pattern/observer-patter...

  • 2018-12-11

    head first html css word书籍 http权威指南 head first设计模式

  • 好书推荐

    1、主要讲23种设计模式《Head First设计模式》

  • 设计模式--策略模式

    ps:本文主要来源于Head First 设计模式(抄Head First的),如有不懂请购买原书观看。 策略模式...

  • 设计模式:如何优雅地使用责任链模式

    责任链模式(Chain of Responsibility Pattern)在《Head First设计模式》一书...

  • Swift设计模式-目录

    推荐图书:《Head First设计模式》《大话设计模式》《设计模式之禅》, 设计模式思维导图 图形说明一切: 设...

  • head first 设计模式

    最近一段时间一直在看head first 设计模式,感触颇深,遂把其中之心得记录之,以便遗忘时重新熟悉。 6种设计...

  • 《head first 设计模式》

    本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘...

  • Head First 设计模式

    初衷 在写本文之前,一直在学习设计模式,但是有一个问题,看完的内容,过几天就忘记了,顾从头再来一次,顺便做个记录。...

  • HEAD FIRST 设计模式

    <第一章读后感> 1.OO基础: 抽象:将具体问题抽象出一个类,提供接口,不需要关心具体实现,就是一个父类.除了被...

网友评论

      本文标题:Head First 设计模式(待)

      本文链接:https://www.haomeiwen.com/subject/sqmhxxtx.html