![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
design patterns
文章平均质量分 80
moneyice4587
我
展开
-
稳固而知新 Template Method,Strategy
TEMPLATE METHOD 该模式将通用的算法放在基类中,通过继承在不同的具体类中实现该通用算法,此模式的代价是派生类必定与基类绑定在一起。在ipass项目中,有从文件导入的功能。首先打开文件,按照csv格式逐行处理,对于不合格的过滤掉,合格的保存起来,最后在界面上显示,再由用户决定是否执行导入功能。public abstract class BaseImporter原创 2006-03-16 23:25:00 · 1452 阅读 · 0 评论 -
稳固而知新 FACADE,MEDIATOR
FAÇADE 该模式为一组具有复杂且全面的接口对象提供一个简单且特定的接口。 应用此模式后,App完全不知道JNDI的内部细节,JndiFacade隐藏了JNDI的复杂性,并对App提供简单的接口,对App来说,JNDI是不存在的。JndiFacade是JNDI的唯一代理。 Façade模式是以明显且受限的方式来施加它的策略。使用时必须主动地调用原创 2006-03-10 23:57:00 · 1461 阅读 · 0 评论 -
稳固而知新 Observer
OBSERVER该模式的动机是为了在增加新的观察对象时可以无需更改被观察的对象,被观察对象可以保持封闭。public class Observable { List observers = new ArrayList(); public boolean addObserver(Observer o) { observers.ad原创 2006-03-19 23:13:00 · 1517 阅读 · 0 评论 -
稳固而知新 SINGLETON,MONOSTATE,NULL OBJECT
SINGLETON 一个类在应用程序中只有一个实例,在程序启动的时候被创建,在程序结束时被删除,通常此类作为基础对象,工厂对象或管理对象。形式1public class SingletonA { private static SingletonA instance = null; private SingletonA() { } pu原创 2006-03-05 19:16:00 · 1718 阅读 · 0 评论 -
稳固而知新 ABSTRACT SERVER,ADAPTER
ABSTRACT SERVER上图,一个ProcessMonitor对象负责监控ipass server的进程,这个设计依赖了具体实现,在使用ProcessMonitor的地方都要带上ipass process。这时可以应用Abstract Server模式避免依赖具体类。上图中,引入了Monitorable接口,这样ProcessMonitor就可以控制任何实现了Monito原创 2006-03-07 23:13:00 · 1544 阅读 · 0 评论 -
稳固而知新_FACTORY
FACTORY 在程序中,如下写法十分常见:T2kArea area=new T2kArea(name);此时,程序依赖于具体类T2kArea,如果具体类发生变化,那么程序中每一处使用如上代码的地方都要修改。所以就要应用Factory模式,使得程序依赖于抽象。如果具体类是稳定的,那么依赖它就不会出现麻烦。例如创建String对象就不会有问题,应为Stri转载 2006-03-05 17:42:00 · 1571 阅读 · 0 评论 -
稳固而知新 Command,Active Object,Composite
COMMAND Command 模式非常简单,只有一个具有唯一方法的接口组成。 public interface ICommand { public void execute(); } 1 一般的Command模式 CommandMaster中绑定要执行的Command,只要Command监测到一个事件,它只要调用相应的Command执行即可,它原创 2006-03-06 23:33:00 · 1586 阅读 · 0 评论 -
Eclipse中的IAdaptable
Eclipse中的IAdaptable类型转化Java是一种强类型语言,每个实例都必须有指定的类型。实际上,Java类型有两种声明类型和 运行时类型 (也可以相应的说是静态类型 和动态类型 ). 像Python这样的弱类型语言通常称为无类型,但是这样说并不严谨,因为每个实例都有它的运行时类型。你只是不用事先声明一个实例的类型而已。要想调用一个对象中的方法,这个方法需要在声明翻译 2006-07-09 23:38:00 · 3433 阅读 · 0 评论