首页 > 代码库 > 项目设计之---------- 设计模式的应用(模式的集合,不像之前每个模式分开写了)

项目设计之---------- 设计模式的应用(模式的集合,不像之前每个模式分开写了)

考虑到每个模式写一篇文章太零碎,现在写在一起好了

1、观察者模式的应用

一个观察者模式,该模式要求用户改变自己的配置的时候,相应的监听者更新、保存数据等
ConfigChangeListener是观察者父类,其子类是具体观察者,ConfgChangeSubject是抽象通知者,ConnonSiteConfigPanel是具体通知者

 

2、建造者模式的应用:

建造模式的指挥者,而网站操作抽象类是建造者父类,具体实现类是具体建造者,而对网站(Site)类的操作则是最终需要的产品

 

3、桥接模式

 

桥接模式,处理网站操作类与配置这两个纬度的变化,之前本来打算用继承,但考虑到优先要考虑聚合/组合,还是用了桥接模式

 

4、命令模式:

用命令模式处理任务的分配,方便放到队列,取消和重做等。任务是命令,而网站操作者是真正的任务执行者,TaskDispatchable则是任务的管理者即命令管理者,它会增加或去除任务,分配任务,把任务(命令)分配到具体的网站操作类去执行

 

5、享元模式

 用享元模式解决创建海量对象问题,网站操作类与网站类是内部状态,而网站帐号(SiteAccount)是外部状态SiteOperaterFactory是工厂 、SiteOperaterAbstract是接口 SiteOperaterAbstract具体类是实现类 

 

当然,一个工程并不是越多模式应用越好,应用太多的模式会使得工程复杂难读,所以量情况而定,小的项目就不要搞得太复杂。这里推荐一个框架spring

由于用spring管理类与类的依赖关系,因此省去了很多模式的应用,比如操作网站的子类可以用简单工厂+反射、dao与service之间的关系使用抽象工厂模式管理以方便数据库的切换。spring本来就是个巨大的工厂。

 

觉得我一定有理解得不对的地方,望高手斧正,如果有不详细的地方也可以指出