IOS开发中的几种设计模式介绍(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的del...
分类:
移动开发 时间:
2015-07-24 17:58:20
阅读次数:
166
上一篇我们介绍了单一职责 原则:http://blog.csdn.net/u010590685/article/details/47011803
今天我们来说说另外一个原则:开放封闭原则
中国有个成语叫纵横捭阖,其中捭阖的意思就是开合的意思。
《捭阖》是《鬼谷子》的开篇之作。捭为开启,阖为闭藏。捭阖之术,也就是开合有道、张弛有度。捭阖之术是世间万物运转的根本,也是纵横家游说的重要说术言略...
分类:
编程语言 时间:
2015-07-23 21:54:44
阅读次数:
144
设计模式基本原则总结
1.单一职责原则(SRP)
就一个类而言,应该仅有一个引起它变化的原因。
2.开放——封闭原则
是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。意思是对于扩展是开放的(Open For extension),对于更改是封闭的(Closed for modification)
3.依赖转换原则
a.高层模块不应该依赖低层模块。两个都应该依赖抽象。b.抽...
分类:
其他好文 时间:
2015-07-22 13:19:22
阅读次数:
86
软件工程中的开放与封闭原则是一个开发前的指南,当你进行工程开发时要依据这个原则。
开放封闭就是对扩展开放对修改封闭,目的是指导开发一个当需求增加时,不需要修改原有代码而进行代码扩展即可实现。为什么不去修改原代码呢?
举一个badCase:
开发一个库,里面定义了加法,用户调用你这个库实现了他的1+1的需求,这时候业务扩大了另一个客户需要加法的同时也希望能够使用减法,作为一个合格的开发产品,你不...
分类:
其他好文 时间:
2015-07-17 00:33:53
阅读次数:
140
工厂方法属于创建型设计模式。
设计意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
静态工厂使用面向对象的方式,有效的解决了增加新产品给客户端和实现类带来的代码修改问题,封装了创建过程,减低了增加新产品带来的代码修改错误,但是新增功能需要修改客户端代码和工厂创建类的判断逻辑,这样的设计违背了开放-封闭原则,对扩展开放,对修改封...
分类:
其他好文 时间:
2015-07-10 13:28:28
阅读次数:
114
开放封闭原则:是说软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。这个原则有两个特征:一个是对于扩展是开放的;另一个是说对于更改是封闭的。怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本?无论模块是多么的“封闭”,都会存在一些无法对之封闭的变...
分类:
其他好文 时间:
2015-07-07 16:05:06
阅读次数:
98
单一职责原则就一个类而言应该只有一个引起她变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,会有意想不到的破坏。开放封闭原则实体(类、模板、函数等等)应该可以扩展,但是不可以修改。无论设...
分类:
其他好文 时间:
2015-07-04 12:26:23
阅读次数:
107
面向对象设计的11个原则单一职责原则(The Single Responsibility Principle,简称SRP)开放-封闭原则(The Open-Close Principle,简称OCP)Liskov替换原则(The Liskov Substitution,简称LSP)依赖倒置原则(Th...
分类:
其他好文 时间:
2015-07-01 00:54:32
阅读次数:
412
开源it1.单一职责原则SRP:不要将太多的职责放在一个类中(低耦合、高内聚)2.开放封闭原则OCP:对象修改关闭,对扩展开放3.Liskov替换原则LSP:子类型能够替换掉它们的父类型。能使用基类的地方,就能使用子类。针对接口编程。这样的类设计才有意义,是同一类的东西。子类可以扩展父类的功能,但不...
分类:
其他好文 时间:
2015-06-28 18:43:45
阅读次数:
143
解决问题:创建对象,将创建对象的任务交给另一个对象完成。 组成: 简单工厂:客户传递创建产品的类型到工厂类中去,工厂类根据类型实例化不同的类。 工厂方法Factory Method:定义一个用户创建对象的接口,让子类决定实例化哪一个类。 优点:客服了简单工厂违背开放封闭原则的缺点。 抽象工厂Abst...
分类:
其他好文 时间:
2015-06-25 20:53:10
阅读次数:
178