design-pattern-forjava
11月23日开源中国源创会年度(北京万豪酒店)千人盛典正在报名中
design-pattern-forjava 基于java版的设计模式实现。
1,抽象工厂模式,提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类.
2,适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作.
3,桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。
4,建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.
5,命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志, 以及支持可撤销的操作。
6,组合模式:将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的适用具有一致性。
7,装饰者模式 为已有的功能动态的添加更多功能的一种方式.
8,门面模式 为了系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
9,工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化那个类,工厂方法使一个类的实例化延迟到其子类。
10,享元模式:运用共享技术有效的支持大量细粒度的对象。
11,解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
12,迭代器模式:提供一个方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
13,中介者模式:用一个中介对象来封装一系列的对象交互。中介者使对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
14,备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这个以后就可将该对象恢复到原先保存的状态。
15,浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象.
16,深复制把引用对象的变量指向复制过来的新的对象,而不是原来的被引用的对象。
17, 代理模式:为其他对象提供一种代理以控制对这个对象的访问
18,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象。这个主题对象在状态发生变化时, 会通知所有观察者对象,使他们能够自动更新自己。
19,责任链模式:是多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。
20,简单工厂模式的最大优点在于工厂类中包含了必要的判断逻辑,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。
21,单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
22,状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类.
23,策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类于使用算法类之间的耦合。
24,模板方法: 通过把不变的行为搬移到超类,去除子类中的重复代码来体现他的优势.很好的代码复用平台。
25,访问者模式:表示一个作用于某个对象结构中的个元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新的操作。