Java中23種設計模式--超快速入門及舉例代碼復制


原文地址:http://blog.csdn.net/doymm2008/article/details/13288067  

ava的設計模式大體上分為三大類:

  • 創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。
  • 結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。
  • 行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

設計模式遵循的原則有6個:

1、開閉原則(Open Close Principle)

  對擴展開放,對修改關閉

2、里氏代換原則(Liskov Substitution Principle)

  只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。

3、依賴倒轉原則(Dependence Inversion Principle)

  這個是開閉原則的基礎,對接口編程,依賴於抽象而不依賴於具體。

4、接口隔離原則(Interface Segregation Principle)

  使用多個隔離的借口來降低耦合度。

5、迪米特法則(最少知道原則)(Demeter Principle)

  一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。

6、合成復用原則(Composite Reuse Principle)

  原則是盡量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改

1. 工廠模式(Factory Method)

  常用的工廠模式是靜態工廠,利用static方法,作為一種類似於常見的工具類Utils等輔助效果,一般情況下工廠類不需要實例化。

 1 interface food{}
 2 
 3 class A implements food{}
 4 class B implements food{}
 5 class C implements food{}
 6 
 7 public class StaticFactory {
 8 
 9     private StaticFactory(){}
10     
11     public static food getA(){  return new A(); }
12     public static food getB(){  return new B(); }
13     public static food getC(){  return new C(); }
14 }
15 
16 class Client{
17     //客戶端代碼只需要將相應的參數傳入即可得到對象
18     //用戶不需要了解工廠類內部的邏輯。
19     public void get(String name){
20         food x = null ;
21         if ( name.equals("A")) {
22             x = StaticFactory.getA();
23         }else if ( name.equals("B")){
24             x = StaticFactory.getB();
25         }else {
26             x = StaticFactory.getC();
27         }
28     }
29 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM