
设计模式
文章平均质量分 89
Yoara
还年轻。多学习
展开
-
设计原则
1对可变性的封装原则:找出应用中可能存在变化的部分,把它们独立出来,不要和应用中不需要变化的部分混在一处。 2.针对接口编程,而不要针对实现编程。它的真正含义是针对超类型(supertype)编程,实现多态。 3.为交互对象的松耦合而努力。 4.“开-闭”原则:类应该对扩展开放,对修改关闭。恪守此原则的关键就在于抽象化。 5.依赖倒置原则:要依赖抽象,不要依赖原创 2009-10-12 10:18:00 · 645 阅读 · 0 评论 -
代理模式
代理要做的:控制和管理访问。 以远程代理为例,用Java自带的RMI实现。1.先浏览和了解一下RMI吧2.把本地需要被代理的类转换成远程服务,提供一些可以被远程调用的方法。3.用RMI,创建一个能和远程对象沟通的代理。代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。使用代理模式创建代表(representative)对象,让代表对象控制某对象的访问,被原创 2009-12-21 15:09:00 · 577 阅读 · 0 评论 -
状态模式
策略模式和状态模式是双胞胎,策略模式是围绕可以互换的算法来创建成功业务的。而状态模式通过改变对象内部的状态来帮助对象控制自己的行为。 实现状态机: 1.找出所有状态。 2.创建一个实例变量保持所有目前的状态。例如final static int SOLD_OUT = 0;final static int CAN_SOLD = 0;用状态对象的概念:State sold_原创 2009-12-08 15:56:00 · 519 阅读 · 0 评论 -
模板方法模式
模板方法:定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。 定义模板方法模式: 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 这个方法将算法定义成一组步骤,其中任何一步都可以是抽象的,由子类负责实现。 钩子方法: 钩子是一种被声明在抽象类中的方法,但只有空的实现或者默认原创 2009-11-26 09:20:00 · 608 阅读 · 0 评论 -
适配器模式和外观模式
适配器模式:OO适配器:将一个接口转换成另一个接口,以符合客户的期望。 客户使用适配器的过程如下: 1.客户通过目标接口调用适配器的方法对适配器发出请求。 2.适配器使用被适配器接口把请求转换成被适配器的一个或多个调用接口。 3.客户接收到调用的结构,但并未察觉这一切是适配器在起转换作用。 在新旧并存的系统中,可以创建双向的适配器,支持两边的接口。原创 2009-11-13 16:36:00 · 869 阅读 · 0 评论 -
命令模式
命令模式可以将“动作的请求者”从“动作的执行者”对象中解耦。利用命令对象,把请求封装成一个特定对象。 命令模式定义: 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 命令模式的更多用途: a.队列请求。命令可以将运算块打包(一个接收者和一组动作),然后将它传来传去,就像是一般的对象一样。想象一个原创 2009-11-13 14:44:00 · 2623 阅读 · 0 评论 -
单件模式
单件模式: 单件模式常常用来管理共享的资源文件,如数据连接池或线程池等。 单件模式:确保一个类只有一个实例,并提供一个全局访问点。 经典的单件模式:public class Singleton { private static Singleton single; private Singleton(){}; public static Singleton g原创 2009-11-12 10:50:00 · 655 阅读 · 0 评论 -
工厂方法及抽象工厂模式
1.为什么需要工厂:(Factory Method Pattern) 工厂能把处理创建对象的细节封装,调用实现某接口的对象的模块就变成了此的对象的客户,他无需知道具体生成怎样的对象,只需调用对象的方法即可。这样就把需要改变的部分抽象出来。 同时,工厂能为很多相似的客户服务。 2.“元老工厂”——简单工厂 public class SimplePizzaFactory{原创 2009-11-12 10:05:00 · 613 阅读 · 0 评论 -
观察者模式(Observer Pattern)
观察者模式:定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,他的所有者都会受到通知并自动更新。 观察者模式的方法不止一种,但是以包含Subject和Observer接口的类设计的做法最常见。 观察者模式和一对多的关系有何联系: 利用观察者模式,主题是具有状态的对象,并且可以控制这些状态。也就是说,有"一个"具有状态的主题。另一方面,观察者使用这些状态,虽原创 2009-10-21 15:08:00 · 774 阅读 · 0 评论 -
设计模式
设计模式可以把你的思考架构的层次提高到模式层面,而不是仅停留在琐碎的对象上。 共享模式词汇的威力: 1.你使用模式和他人沟通时,其实“不只是”和他人共享“行话”而已。 2.共享的模式词汇威力强大。当你使用模式名称和其他开发人员或者开发团队沟通时,你们之间交流的不只是模式名称,而是一整套模式背后所象征的质量、特性、约束。 3.模式能够让你用更少的词汇做更充分的沟通。原创 2009-10-14 16:29:00 · 553 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式: 定义了算法族,分别封装起来,使得它们之间可以自由的进行替换。此模式可以让算法的变化独立于使用它们的客户。 用一个简单的小例子演示://算法Quackpublic interface QuackBehavior { public void quack();}--------------------------------public cl原创 2009-10-12 11:13:00 · 696 阅读 · 0 评论 -
mina学习笔记六:补刀
补充一些可能没讲到的细节。 1.Write原创 2014-07-10 00:09:14 · 2843 阅读 · 0 评论