一、觀察者模式
觀察者模式是一種行為型模式,它定義了一種一對多的關係,讓多個觀察者對象同時監聽一個主題對象。當主題對象狀態發生改變時,會自動通知所有的觀察者對象,使它們能夠及時進行響應。在Android開發中,觀察者模式常被用於一些事件的處理,例如Activity的生命周期,控制項的狀態改變等。
//主題對象,可以添加、刪除、通知觀察者 public class Subject { private List observers = new ArrayList(); public void attach(Observer observer) { observers.add(observer); } public void detach(Observer observer) { observers.remove(observer); } public void notifyObservers() { for (Observer observer : observers) { observer.update(); } } } //觀察者介面 interface Observer { void update(); } //具體觀察者 public class ConcreteObserver implements Observer { @Override public void update() { //處理事件 } }
二、單例模式
單例模式是一種創建型模式,它保證一個類只有一個實例,並提供一個全局訪問點。在Android開發中,一些工具類、系統服務、資料庫、全局配置等常常會使用單例模式,以保證它們在整個應用程序中只有一個實例。
//餓漢式單例模式 public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } }
三、工廠模式
工廠模式是一種創建型模式,它定義了一個工廠方法用來創建對象,而不是通過new關鍵字直接實例化對象。在Android開發中,工廠模式常被用於控制對象的創建過程,以便根據不同的參數返回不同的對象類型。
//工廠介面 public interface Factory { Product createProduct(); } //具體工廠1 public class ConcreteFactory1 implements Factory { @Override public Product createProduct() { return new ConcreteProduct1(); } } //具體工廠2 public class ConcreteFactory2 implements Factory { @Override public Product createProduct() { return new ConcreteProduct2(); } } //產品介面 public interface Product { } //具體產品1 public class ConcreteProduct1 implements Product { } //具體產品2 public class ConcreteProduct2 implements Product { }
四、建造者模式
建造者模式是一種創建型模式,它將複雜對象的構建與表示分離開來,使得同樣的構建過程可以創建不同的表示。在Android開發中,建造者模式常被用於構建複雜的對象,例如AlertDialog、Notification、Intent等。
//產品類 public class Product { //屬性 private String partA; private String partB; private String partC; //構造方法 public Product(String partA, String partB, String partC) { this.partA = partA; this.partB = partB; this.partC = partC; } //getter、setter方法 //... } //抽象建造者 public abstract class Builder { protected Product product = new Product(); public abstract void buildPartA(); public abstract void buildPartB(); public abstract void buildPartC(); public Product getResult() { return product; } } //具體建造者 public class ConcreteBuilder extends Builder { @Override public void buildPartA() { product.setPartA("A"); } @Override public void buildPartB() { product.setPartB("B"); } @Override public void buildPartC() { product.setPartC("C"); } } //指揮者 public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public Product construct() { builder.buildPartA(); builder.buildPartB(); builder.buildPartC(); return builder.getResult(); } }
五、適配器模式
適配器模式是一種結構型模式,它將一個類的介面轉換成客戶端希望的另一個介面。在Android開發中,適配器模式常被用於將一些不兼容的類或介面進行鏈接,以便能夠協同工作。
//適配者介面 public interface Adaptee { void doSomething(); } //適配者實現類 public class AdapteeImpl implements Adaptee { @Override public void doSomething() { //具體操作 } } //目標介面 public interface Target { void doSomething(); } //適配器 public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void doSomething() { adaptee.doSomething(); } }
以上五種設計模式是Android開發中常見的設計模式,它們分別具有不同的應用場景,可以提高代碼的復用性,可讀性和可維護性。在實際開發中,我們可以根據具體的業務需求選擇合適的設計模式來進行開發,從而使我們的程序更加高效、簡潔和可靠。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186347.html