理解常用設計模式

概覽

1. 簡單工廠模式

簡單工廠模式的要點在於:當你需要什麼,只需要傳入一個正確的參數,就可以獲取你所需要的對象,而無須知道其創建細節。

優點:將對象的創建和使用分離開,簡化對象的創建。

缺點:不靈活,隨着產品類的數目增多,工廠類會變得越來越龐大,難以維護。

2. 工廠模式

在這裏插入圖片描述
工廠模式的要點在於:將具體產品類的創建推遲到抽象工廠子類中實現

3. 裝飾者模式

  1. 裝飾者的角色:
    抽象構件角色(Component):給出一個抽象接口,以規範準備接收附加責任的對象。
    具體構件角色(Concrete Component):定義將要接收附加責任的類。
    裝飾角色(Decorator):持有一個構件(Component)對象的引用,並定義一個與抽象構件接口一致的接口。
    具體裝飾角色(Concrete Decorator):負責給構件對象“貼上”附加的責任。

  2. 代碼案例

    //抽象構件角色
    public interface Component
    {
        public void doSomething();
    }
    
    //具體構件角色
    public class ConcreteComponent implements Component
    {
        @Override
        public void doSomething()
        {
            System.out.println("功能A");
        }
    }
    
    //裝飾者角色
    public class Decorator implements Component
    {
        //維護一個抽象構件角色
        private Component component;
    
        public Decorator(Component component)
        {
            this.component = component;
        }
    
        @Override
        public void doSomething()
        {
            component.doSomething();
        }
    }
    
    //具體裝飾者角色
    public class ConcreteDecorator1 extends Decorator
    {
        public ConcreteDecorator1(Component component)
        {
            super(component);
        }
        
        @Override
        public void doSomething()
        {
            super.doSomething();
            
            this.doAnotherThing();
        }
        
        private void doAnotherThing()
        {
            System.out.println("功能B");
        }
    }
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章