设计模式
zz_cl
这个作者很懒,什么都没留下…
展开
-
代理模式
代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理类与目标类实现相同的接口,让代理类去持有目标类的引用,进而去代理目标对象的一些行为用处:1安全考虑,这点很容易理解,比如我只想暴露A类的方法f()给外界,但它还有其他的方法g()、h(),那么用代理模式就能达到目的翻译 2016-09-06 14:55:38 · 987 阅读 · 0 评论 -
单例模式
单例模式,获取单个实例的创建对象的模式。避免频繁创建对象,加大内存开销,减少GC次数。1.懒汉式单例public class Singleton { private static Singleton singleton; private Singleton() {} //定义一个私有的构造器,此类不能被实例化 public static synchronized原创 2016-09-06 14:18:22 · 308 阅读 · 0 评论 -
适配器模式
适配器模式用于解决接口不兼容问题。软件设计中,常常会出现要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。场景:有接口一,以及接口一的实现类;接口二,以及接口二的实现类。要让接口一下的类能去做接口二下的方法。(让二口插座能为三口电源充电)用法:1.定义接口一public interface Interface1 { public void Method1原创 2016-08-10 13:58:31 · 371 阅读 · 0 评论 -
享元模式
享元模式(Flyweight Pattern):将很多相同或非常相似的对象封装成同一个对象(享元对象),将它们的相同之处作为享元对象的属性,不同之处作为参数传入。使用享元模式可以减少系统对象的个数,提高对象的复用率。例如在自动装箱时,一个字节大小以内的整数都被封装成同一个对象。例如在购买书时,可以将同一作者的所有书封装在一起,作为另一个对象放进集合里。实体类:Bookpackage c原创 2016-08-10 12:39:00 · 507 阅读 · 0 评论 -
策略模式
什么是策略模式(Strategy Pattern):简单的说就是某个对象完成某个动作或得到某个结果的过程中有不同的实现细节(执行策略),将每种不同的实现细节封装在实现同一接口的具体实现类(即策略类)中,由执行者在程序中通过统一接口来动态的调用具体的策略。例如我们要得到一个结果,可以有很多种算法,我们就将这些算法封装在不同的具体类中,同时这些类实现同一个接口。程序中执行者通过统一的接口根据情况来动态原创 2016-08-10 12:33:17 · 380 阅读 · 0 评论 -
工厂模式
一、用处: 使用工厂模式,我们在创建对象时不会对客户端暴露具体的创建细节,使用一个共同的接口,让其子类自己决定实例化哪一个工厂类。二、使用:1.创建一个接口public interface Animal { void eat();}2.创建接口的实现类public class Lion implements Animal { @Override原创 2016-08-10 09:58:32 · 297 阅读 · 0 评论