设计模式
Maggnno
编程爱好者,希望互相学习
展开
-
一个例子理解装饰器模式
什么是装饰器模式?有些时候,我们希望为一个类添加一些功能,同时又不希望改变这个类原来的结构。例如:我已经完成了一个日志的接口和它的各个实现类,但是这些类只有输出日志到不同地方的功能,LoggerFileSystem能将日志输出到文件系统(磁盘)中,LoggerCloud能将日志输出到云端的某个文件中。现在新需求来了,我想要在每条日志输出后顺带输出这条日志的时间,又不想去修改每个实现类的方法,这时候就原创 2017-09-23 09:42:36 · 1756 阅读 · 0 评论 -
代理模式之静态代理
静态代理模式什么是静态代理?代理模式,顾名思义,就是找一个能代理自己工作的类来完成目标类的工作,这个代理类能在完成工作的同时对其进行验证和收尾工作。拿卖二手车做例子,当你的时间有限,可以找一个代理商帮你把车卖出去,代理商在帮你卖车的时候,能帮你完成诸如过户、注销等等手续,这就是代理商的作用。而静态代理,就是为目标类定制的代理,如果需要完成其他性质的工作,还需重新设计代理类来完成代理工作。如何实现静态原创 2017-09-08 10:01:42 · 280 阅读 · 0 评论 -
代理模式之动态代理
动态代理模式什么是动态代理模式?动态代理模式就是对不同的目标类,能通过一个代理类来完成指定的切入操作。而不需要针对新增的目标类重新设计代理类。Java如何实现动态代理?还是拿静态代理所用的例子JDK动态代理这里只给出代理类和测试类的代码,其他代码与静态代理中的相同。 代理类:DocumentManagerProxy_JDK.javapackage com.proxypattern;import j原创 2017-09-08 10:02:35 · 193 阅读 · 0 评论 -
重温设计模式4——模板方法模式
模板方法模式定义 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 a...原创 2018-08-09 22:42:10 · 388 阅读 · 0 评论 -
重温设计模式1——单例模式
单例模式定义 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类 只有一个实例,而且自行实例化并向整个系统提供这个实例。)应用场景当一个对象需要在应用中被频繁调用,或初始化需要非常大的开销时,可以使用单例模式让实例对象常驻内存,减少创建对...原创 2018-08-06 22:09:06 · 188 阅读 · 0 评论 -
重温设计模式2——工厂方法模式
工厂方法模式定义 Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.(定义一个用于创建对象的 接口,让子类...原创 2018-08-07 21:00:11 · 237 阅读 · 0 评论 -
重温设计模式3——抽象工厂模式
抽象工厂模式定义 Provide an interface for creating families of related or dependent objects without specifying their concrete classes.(为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们 的具体类。)应用场景抽象工厂,顾名思义就是...原创 2018-08-08 22:00:54 · 414 阅读 · 0 评论