软件设计模式--Head First
cgshuo
这个作者很懒,什么都没留下…
展开
-
命令模式--软件设计模式
命令模式的定义是:将“请求”封装称对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持撤销的操作。(参数化是指命令的封装对象中有成员(命令发出者)和执行(即动作方法))。(注:复合命令是指成员或执行的数量大于1) 解决的问题:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就原创 2017-05-22 23:07:19 · 301 阅读 · 0 评论 -
装饰者模式---设计模式
定义:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。(一层套一层) 下边是Head First 书上的例子: 星巴兹咖啡准备更新订单系统,以合乎他们的饮料供应需求。 他们原先的类设计为: 这样的订单系统没有办法考虑到咖啡调料的部分,把加入不同调料的咖啡看做不同的类会导致类爆炸(每个类的cost方法计算出咖啡加调料的价钱):原创 2017-05-23 18:00:12 · 385 阅读 · 0 评论 -
单件模式--软件设计模式
如果给对象开一个全局变量,那么必须在一开始就创建好对像,而这样会造成资源浪费,而单件模式则是在需要时才创建对象。 单件模式的定义:确保一个类只有一个实例,并提供一个全局访问点。建造全局访问点暂知此两种方式:单件模式和声明全局变量 下面是经典单件模式代码,没有考虑全局变量。 1 public class Singleton{ 2 private static Singlet原创 2017-05-16 22:53:40 · 430 阅读 · 0 评论