随笔分类 - 设计模式
摘要:工厂方法工厂方法模式经常用于以下情景:1.客户类不关心使用哪个具体类,只关心该接口所提供的功能。2.创建过程比较复杂,例如需要初始化其它关联的资源类,读取配置文件等等。3.接口有很多具体实现或者抽象类有很多具体子类时,你可能需要为客户代码写一大串if-else逻辑来决定运行时使用哪个具体实现或者具体子类。4.不希望给客户程序暴露过多此类的内部结构,隐藏这些细节可以降低耦合度。5.优化性能,比如缓存大对象或者初始化比较耗时的对象。工厂方法模式定义:为创建对象定义一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟至子类。工厂方法模式是对实例化过程进行封装而形成的,客户对象无需关心实例化
阅读全文
摘要:单例模式:如果要保证系统里一个类最多只能存在一个实例时,我们就需要用单例模式。这种情况在我们应用中经常碰到,例如缓存池,数据库连接池,线程池,一些应用服务实例等。最简单的单例:PublicclassSingleton{PrivatestaticSingletoninstance=newSingleton();PrivateSingleton();PublicstaticSingletongetInstance(){Returninstance;}}此实现是线程安全的,使用也非常简单:Singletonsingleton=Singleton.getInstance();延迟创建:Publiccl
阅读全文
摘要:模板方法春节回家,我们首先需要购买火车票,然后乘坐火车,最后才能和家人团聚。我们来模拟一下这个过程:PublicclassHappyPeople{PublicvoidcelebrateSpringFestival(){System.out.println("Buyingticket");System.out.println("Travellingbytrain");System.out.println("HappyChineseNewYear");}}后来我们发现,有人需要坐火车回家,有人需要坐飞机回家,而有人坐大巴回家。但是不管你乘
阅读全文

浙公网安备 33010602011771号