设计模式
文章平均质量分 78
luhao
这个作者很懒,什么都没留下…
展开
-
观察者模式
(本文中一些例子和定义均摘自《Head First 设计模式》)“观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变状态的时候,它的所有依赖者都会收到通知并自动更新。”举例,天气情况报告。我们有很多不同的表示天气预报的公告栏,当天气情况发生变化的时候,这些公告栏都能够接收到变化的通知,并且自动的根据变化而变化。当观察者不需要再订阅主题的时候,能够退订主题。这样天气预原创 2008-01-21 11:32:00 · 751 阅读 · 0 评论 -
简单工厂模式,工厂模式,抽象工厂模式
(本文中一些例子和定义均摘自《Head First 设计模式》)* 感谢 jzkangta 老师的精彩讲解简单工厂(Simple Factory)模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式的主要作用就是由一个工厂对象决定创建出那一种产品类的实例。是否使用静态方法是需要在一开始就考虑好的,因为使用了静态方法来定义一个简原创 2008-01-27 22:40:00 · 1171 阅读 · 1 评论 -
命令模式
(本文中一些例子和定义均摘自《Head First 设计模式》)命令模式(Command Pattern)将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤消的操作。举例:开灯的命令首先我们定义一个命令接口,所有的命令都应当实现这个接口public interface Command ...{ public void execute();}原创 2008-01-29 12:18:00 · 824 阅读 · 0 评论 -
装饰者模式(the Decorator Pattern)
装饰者模式(the Decorator Pattern)动态地将责任附加在对象上。若有扩展功能,装饰者提供了比继承更有弹性的替代方案。 以咖啡厅为例,当仅仅是对父类Beverage继承时,如果子类需要增加新的调料,那么子类的数量会迅速增大,造成管理和维护上的困难。如果调料的种类有变化的时候,子类也要进行相应的修改。这样就违反了设计原则:类应该对修改关闭,对扩展开放。因此我们要引入装饰者原创 2008-01-25 12:00:00 · 673 阅读 · 0 评论 -
单态模式(singleton)
* 感谢 jzkangta 老师的精彩讲解单态模式主要作用是保证一个JAVA应用程序中,一个类Class只有一个实例存在好处在于可以节省内存空间,因为它限制了实例的个数。项目中的应用:比如数据库的连接具体举例: public class Singleton ...{ public static void main(String[] args) ...{原创 2008-01-25 14:23:00 · 757 阅读 · 0 评论 -
策略模式
(本文中一些例子和定义均摘自《Head First 设计模式》)“策略模式: 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户”其实也就是把相似,类似的行为封装,并且使得它们之间可以互换.举例, 鸭子的叫声有阿阿叫,也有呱呱叫.我们首先把鸭子与鸭子叫 这两部分分开, 也就是把使用算法的客户和算法分开.第二步,建立策略类(抽象策略方法), 通常使用接口或原创 2008-01-20 00:55:00 · 727 阅读 · 0 评论