
设计模式
hust-dou
这个作者很懒,什么都没留下…
展开
-
策略模式
策略模式:实现某个功能有多个算法或策略,根据用户需求选择不同算法,核心思想是把对象本身和运算法则区分开来。策略模式与状态模式的区别:策略模式在对象初始化的时候更改执行模式,状态模式根据不同的周期状态改变对象实例的执行模式。策略模式主要由3个部分组成:context:维护对Strategy对象的引用抽象strategy:支持的算法的公共接口具体strategy:公共接口的原创 2017-05-02 11:58:25 · 295 阅读 · 0 评论 -
装饰者模式
在原有类的基础上,当我们需要某些新的功能时,我们通常经过继承的方式,这样既可以继承父类的方法,又可以添加新的方法,满足需求。但这种方式是静态编码的方式,如果已经有了对象,通过这种方式不能改变已近产生的对象的方法,这样就引入了装饰者模式,装饰者通过不断为对象添加新的特性和方法,满足需求。装饰者模式:动态的给对象添加某些功能或者特性,而不用额外的写方法到原有的类中。装饰者主要的角色:抽象组原创 2017-05-02 15:12:49 · 209 阅读 · 0 评论 -
观察者模式
观察者模式:对象之间一对多模式,当subject对象发生改变时,通知其注册的observer做出改变。观察者模式有两种通知observe改变的形式-push、pull。push形式的观察者模式通知observer,做出改变。pull 形式的观察者主动pull subject的信息。通过观察者模式,将一对多对象之间的依赖关系变的松散,大大提高了程序的可扩展性。观察者模式的角色:目标(原创 2017-05-02 14:53:32 · 300 阅读 · 0 评论 -
工厂模式
工厂方法:定义一个创建对象的接口,当由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。抽象工厂:提供一个接口,用于创建相关或者依赖的家族,而不需要指定具体类。原创 2017-05-03 12:39:29 · 208 阅读 · 0 评论 -
外观模式
facade(外观模式):提供一个统一的接口,用来访问子系统中的一群接口,定义一个高层接口,保证子系统更加安全、容易使用。例如:tomcat中提供RequestFacade和ResponseFacade外观类,这连个类中再封装私有的servletRequest和servletResponse属性,向下转型只能转型为facade类,保证向下转型的安全性,使得接口更加简单。外观模式角色:原创 2017-05-04 11:14:01 · 248 阅读 · 0 评论 -
适配器模式
适配器模式:将一个类的接口,装换成客户期望的另一个接口,实现不兼容的接口相容。client(客户端):实现一个被适配器实例,传入被适配器给适配器。adapter(适配器):实现target接口,拥有一个被适配器实例,client实际操作发生在被适配器实例操作,适配器中实现了一些列方法,实际调用的是被适配器方法。target(目标接口):适配器实现的目标接口,暴露给客户端。adapt原创 2017-05-04 10:24:31 · 214 阅读 · 0 评论 -
命令模式
命令模式处理流程:control 封装成对象,通过control的setcommend方法来参数化其他对象、队列(command对象),control对象调用方法,(根据前面的setcommend方法参数化的对象)执行相对应的(一般为)execute方法,之后,execute执行实例(比如light)的方法,完成命令者模式。原创 2017-05-03 16:25:15 · 223 阅读 · 0 评论