摘要:
装饰者模式动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。装饰者模式的工作原理:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。A=>装饰=>B=>装饰=>C=>装饰=>D=>装饰=>实体装饰者模式隐含的是通过一条条装饰链去实现具体对象,每一条装饰链都始于一个Componet对象,每个装饰者对象后面紧跟着另一个装饰者对象,而对象链终于ConcreteComponet对象。 装饰者模式UML图 ConcreteComponent:让Decorator对象为自己添加功能 阅读全文
posted @ 2013-10-09 17:16
smallerpig
阅读(192)
评论(0)
推荐(0)
摘要:
定义1:高层模块不应该依赖低层模块,两者都应该依赖其抽象;2:抽象不应该依赖细节;3:细节应该依赖抽象。更加精简的定义就是“面向接口编程”——OOD(Object-Oriented Design,面向对象设计)的精髓之一。为什么要倒转? 原因:面向过程的开发时,为了使常用代码可以复用,一般都会把这些常用代码写成许多函数的程序库,这样我们在做新项目的时候,去调用这些底层的函数就可以了,比如,我们做的项目大多需要访问数据库,所以就把访问数据库的代码写成了函数,这也叫做高层模块依赖底层模块,但问题也就出在这里,我们要做新的项目,发现业务逻辑的高层模块都是一样的,但客户端希望使用不同的数据库或存储信息 阅读全文
posted @ 2013-10-09 14:40
smallerpig
阅读(141)
评论(0)
推荐(0)