`

使用Facade(外观)模式改善现有软件设计—混乱变简单

阅读更多
Facade(外观)模式就是定义一个接口,之后把乱七八糟的类提统一起来,提供一个统一的接口:




DAO层看起来更像个外观。我们一般把DAO层封起来,之后就业务层去掉用它。比如:

public interface GenericDAO<T extends Serializable, PK extends Serializable> {
    
	
	
    public List<T> FindAll(String WHERE);

   
    public T findById(PK id);

  
    public List<T> findByPageParam(final int currPage,final LinkedHashMap args);
    
    public List findByHQLCache(final String HQL,final String CacheRegion);
    
  
    public List findByNSQL(final String SQL);


    public int getCount(LinkedHashMap args);

   
    public T getWithLock(PK id, LockMode lock);

  
    public T load(PK id);

 
    public T loadWithLock(PK id, LockMode lock);

  
    public List<T> loadAll();

  
    public void update(T entity);

 
    public void deleteWithLock(T entity, LockMode lock);

   //等等代码

}


之后在业务层去调用这些方法,而这些方法本身也许基于不同的实现方法,比如基于SESSION对象的,基于SPRING TEM的,等等。
  • 大小: 17.6 KB
分享到:
评论

相关推荐

    23种设计模式

    ##### 2.6 Facade模式(外观模式) - **定义**:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 - **适用场景**:当系统非常复杂,或者当客户端与多...

    23设计模式简讲

    - **模式定义**:外观模式是一种结构型设计模式,它为你子系统中的一堆复杂子系统提供一个简单接口。该模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 11. **FLYWEIGHT** - **场景解析**:假设...

    java常用的二十三种设计模式

    外观模式(Facade) 外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。这种模式通常用于降低系统间的耦合度,简化复杂的系统。 **应用场景:*...

    设计模型精解—GoF23种设计模式解析C++实现源码

    - **应用场景**:当一个子系统非常复杂,客户端不应该依赖于子系统的部分接口,这时候可以引入外观模式来定义一个简单的接口来代替当前复杂的接口。 - **优点**:降低了各个子系统之间的耦合度,提高子系统的独立性...

    以轻松的语言比喻了java的23种模式

    外观模式就像是一本简化的说明书,它提供了一个简单易用的操作指南,让你可以快速上手使用相机。通过这种方式,你不必深入研究每个细节就能享受到专业级的效果。 #### 十一、享元模式(Flyweight) 享元模式是一种...

Global site tag (gtag.js) - Google Analytics