ios设计模式

编程就像一门艺术;

一段漂亮的代码,不仅要简洁易读,而且可以被反复利用;

设计模式就是一套呗反复使用、多数人知晓的、经过分类编目的、代码设计经验的

总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;

设计模式是软件工程的基石脉络,如同大厦的结构一样。

1.设计模式的原则

① 开闭原则

原理:模块应对扩展开发,而对修改关闭;

模块的行为是可以扩展的,当应用的需求改变是,我们可以对模块进行扩展,是其

具有满足那些改变的新行为,即我们可以改变模块的功能;

对模块行为进行扩展时,不必改动模块的源代码。

② 里氏代换原则(LSP)

原理:任何基类可以出现的地方,子类一定可以出现;

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响

时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

③ 接口隔离原则:

原理:客户端不应该依赖他不需要的接口,一个类对另一个类的依赖应该建立在最小

的接口上。

一个接口代表一个角色,不应当将不同的角色都交给一个接口,没有关系的接口合并

在一起,形成了一个臃肿的大街口,这是对角色和接口的污染。

④ 依赖倒转原则:

原理:程序要依赖于抽象接口,不要依赖于具体实现;

高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象;

抽象不应该依赖于具体,具体应该依赖于抽象;

⑤ 合成/聚合复用原则:

合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新的对象,

新的对象通过向这些对象的委派达到复用已有功能的目的。

他的设计原则是:尽量使用合成/聚合,尽量不要使用继承。

⑥ 最少知识原则:(迪米特法则)

原理:一个对象应当对其他对象有尽少可能的了解,不和陌生人说话;

2.设计模式的分类:

设计模式共23中,共分为九种类型。

① 创造型模式:

单例模式、抽象工厂模式、生成器模式、工厂模式、原型模式;

② 接口适配

适配器模式、桥接模式、外观模式;

③ 对象去耦

中介者模式、观察者模式;

④ 抽象集合

组合模式、迭代器模式;

⑤ 行为扩展

访问者模式、装饰模式、责任链模式;

⑥ 算法封装

模板方法、策略模式、命令模式;

⑦ 性能与对象访问

享元模式、代理模式;

⑧ 对象状态模式

备忘录模式

③ 其他两种:

解释器模式、状态模式。

你可能感兴趣的:(ios设计模式)