一周一模式
文章平均质量分 79
stars
这个家伙很勤奋,还是什么也没留下
展开
-
单例(Singleton)模式
1.类图和代码在一个系统中,要求一个类有且有一个对象,此时,可以采用单例模式。 单例模式的UML如下图: 很简单,不用多说,直接上代码:public class Singleton { private static Singleton instance = new Singleton(); private MySingleton() {} public sta原创 2015-09-28 15:45:13 · 346 阅读 · 0 评论 -
简单工厂(Simple Factory)模式
1.类图和源码 角色描述:工厂类(Creator)角色:工厂方法模式的核心,在客户端的直接调用下创建产品对象。抽象产品(Product)角色:由工厂方法模式创建的产品父类,或它们拥有共同的接口。具体产品(ConcreteProduct)角色:工厂方法模式创建的对象。示例性代码: 1).工厂类:public class Creator { public static Produc原创 2015-09-18 16:03:29 · 400 阅读 · 0 评论 -
工厂方法(FactoryMethod)模式
1.定义类图: Define an interface for creating an object, but let subclasses decide which class to instantiate.Factory Method lets a class instantiation to subclasses. 定义一个用于创建对象的接口, 让子类决定实例化哪一个类。工厂方法使一个原创 2015-09-15 14:49:04 · 448 阅读 · 0 评论 -
抽象工厂(Abstract Factory)模式
1.抽象工厂的结构及源代码 从图可以看出,抽象工厂模式涉及的角色有:抽象工厂(Creator)角色:这个角色是工厂方法模式的核心,它与应用系统的商业逻辑无关!具体工厂(ConcreteCreator)角色:这个角色直接在客户端的调用下创建产品实例。抽象产品(Product)角色:具体产品(ConcreteProduct)角色:源代码如下: 1). 抽象工厂角色,可以看出,抽象工厂角色提原创 2015-09-24 14:58:11 · 409 阅读 · 0 评论 -
代理(Proxy)模式一
1.类图和角色 定义:Provide a surrogate or placeholder for another object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问)。 代理模式涉及的角色有:抽象主题角色:声明了真实主题和代理主题的共同接口,以便在任何可以使用真实主题的地方都可以使用代理角色。代理主题(Proxy)角色:代理主题角色原创 2015-12-14 18:13:05 · 702 阅读 · 0 评论 -
代理(Proxy)模式二
1.动态代理动态代理是在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。现在流行的AOP(面向切面)编程,其核心就是动态代理。JDK提供了针对接口的代理,CGLIB提供了针对类的代理。下面分别演示一下他们是如何使用的。2.JDK动态代理jdk提供了三个类直接支持代理模式,分别是:Proxy, InvocationHandler和Method。其中Proxy类提供了在运行期创建代理对象;当系原创 2015-12-15 09:07:33 · 369 阅读 · 0 评论 -
模板方法(Template Method)模式
1.类图和定义 Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s原创 2015-12-16 09:05:11 · 477 阅读 · 0 评论 -
策略(Strategy)模式
1.类图和概念 Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。) 策略原创 2015-12-22 10:44:14 · 430 阅读 · 0 评论