【设计模式】对象关系--结构型模式(1)
来源:互联网 发布:head first java mobi 编辑:程序博客网 时间:2024/05/13 07:26
【装饰模式】(Decorator)
官方解释: 装饰模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成一个子类更加灵活。
个人理解:装饰模式就是根据单一职责原则,有效地把类的核心职责和装饰功能区分开了。就像我们的机房收费系统,我们的人员类(表)中有人员的姓名,学号,上机时间,下机时间,充值金额,消费金额、余额等信息。这样显得很乱,要是利用装饰模式我们应该把人员抽象出一个类、其余都是他的装饰类。这样即使人员增加了其他的信息,如上机次数,上机号、最多消费金额等,我们也不必去改动人员类,只需增加装饰类即可。
这里有个疑问:为什么只有信息和人员信息是聚合关系而用户没有这种关系那?(望高人指点)
【代理模式】(Proxy)
官方解释:代理模式,为其他对象提供一种代理以控制对这个对象的访问。
个人理解:代理目的就是隐藏真实的对象,在电影中经常看见这样的现象,特别是那种警匪片。警察好不容易抓住了匪首,可以在审问中发现,他只是真正匪首的一个替身。原理真正的匪首用了代理模式,会设计模式真可怕啊(开玩笑!)。 代理的实现是这样的:真正对象找代理对象的目的就是替他做事情,所以代理对象和真正的对象有这相同的方法。相同的方法实现相同的接口,所以便用接口把 他共同的方法封装起来。最后通过继承实现。
代理类的主要作用:对象的替换,行为的替换。
【外观模式】(Facade)
官方解释:外观模式,为子系统中的接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一 子系统更加容易使用。
个人理解:从代码的角度看,外观模式其实就是以前在客户端需要实例化对象和调用的方法有封装成一个类。这这样子在客户端只需实例化这个类,调用这个类中的方法就行啦。这个简单工厂模式非常的像,不过不同的是简单工厂是在创建对象时刻用的,而外观模式是给已存在的这些对象规定一个关系。
由于篇幅问题,关于其他模式的总结请看下一篇总结。(点我)
0 0
- 【设计模式】对象关系--结构型模式(1)
- 【设计模式】对象关系--结构型模式(2)
- 【设计模式】对象关系--结构型模式(3)
- 结构型对象设计模式
- 结构型对象设计模式
- 设计模式- 对象结构型模式小结
- 设计模式之外观(Facade)---对象结构型模式
- 设计模式之代理(Proxy)----对象结构型模式
- C++设计模式 对象结构模式-----组合模式(COMPOSITE)
- 设计模式11:对象适配器【结构型】
- C#面向对象设计模式纵横谈 学习笔记13 Proxy代理模式(结构型模式)
- 【面向对象】——设计模式之结构型模式
- 设计模式之类对象结构型 — ADAPTER (适配器)模式
- 设计模式之类对象结构型 — BRIDGE (桥接)模式
- 适配器模式(结构型设计模式)
- 设计模式(三) 结构型模式
- 【设计模式】结构型模式(上)
- 【设计模式】结构型模式(下)
- Java Timer 定时器的使用
- java之TCP入门
- 二分图最大独立集——POJ 2771
- 【线段树】线段树模板 胡浩版
- jqgrid 静态树表
- 【设计模式】对象关系--结构型模式(1)
- SPICE协议----光标通道定义
- api21最新导航箭头动画的使用
- 异常需要注意点小结
- Ubuntu下修改DNS重启也能用的方法
- 自定义cell选中时的高亮颜色
- 查看DLL文件
- 未在本地计算机上注册Microsoft.ACE.OLEDB.12.0提供程序 解答
- IOS网络学习-4、HTTP协议