生活随笔
收集整理的這篇文章主要介紹了
几句话总结21种设计模式。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、工廠模式
1、就是把所有的類交給一個類(命名為創建類)進行創建 。
2、創建類通過構造方法傳入的參數進行判斷創建哪個類
二、單例模式
1、就是在類中就把自己new出來了
2、通過一個static 方法來獲取自己new出來的對象并賦值
三、建造者模式
1、就是在類里面建一個內部類
2、對內部類進行賦值的時候返回this,最后賦值完成之后進行new 一下
3、另外 菜鳥教程的 跟這個差不多 但是賊復雜 用的list 不如這種!!!!
public class Computer {private final String cpu
;private final String ram
;private final int usbCount
;private final String keyboard
;private final String display
;private Computer(Builder builder
){this.cpu
=builder
.cpu
;this.ram
=builder
.ram
;this.usbCount
=builder
.usbCount
;this.keyboard
=builder
.keyboard
;this.display
=builder
.display
;}public static class Builder{private String cpu
;private String ram
;private int usbCount
;private String keyboard
;private String display
;public Builder(String cup
,String ram
){this.cpu
=cup
;this.ram
=ram
;}public Builder setUsbCount(int usbCount
) {this.usbCount
= usbCount
;return this;}public Builder setKeyboard(String keyboard
) {this.keyboard
= keyboard
;return this;}public Builder setDisplay(String display
) {this.display
= display
;return this;} public Computer build(){return new Computer(this);}}
}
Computer computer
=new Computer.Builder("因特爾","三星").setDisplay("三星24寸").setKeyboard("羅技").setUsbCount(2).build();
四、原型模式(創建重復的對象)
(我感覺是就把對象放數組里調用 【小聲逼逼】)
1、創建一個實現 Cloneable 接口的抽象類。
2、對抽象類實例化
3、關鍵類 里面放一個list 寫個方法把抽象類實例化的東西放入數組
4、在關鍵類寫個方法直接調用就可以了
public abstract class Shape implements Cloneable {private String id
;protected String type
;abstract void draw();public String getType(){return type
;}public String getId() {return id
;}public void setId(String id
) {this.id
= id
;}public Object clone() {Object clone
= null;try {clone
= super.clone();} catch (CloneNotSupportedException e
) {e
.printStackTrace();}return clone
;}
}
import java.util.Hashtable;public class ShapeCache {private static Hashtable<String, Shape> shapeMap
= new Hashtable<String, Shape>();public static Shape getShape(String shapeId
) {Shape cachedShape
= shapeMap
.get(shapeId
);return (Shape) cachedShape
.clone();}public static void loadCache() {Circle circle
= new Circle();circle
.setId("1");shapeMap
.put(circle
.getId(),circle
);Square square
= new Square();square
.setId("2");shapeMap
.put(square
.getId(),square
);Rectangle rectangle
= new Rectangle();rectangle
.setId("3");shapeMap
.put(rectangle
.getId(),rectangle
);}
}
五、適配器模式
1、創建原本的類,跟我們需要適配的接口
2、創建類(適配器類,繼承了被適配類,同時實現標準接口)
3、實例化接口的時候其實掉的還是適配接口的方法
總結
以上是生活随笔為你收集整理的几句话总结21种设计模式。的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。