Petua dan kaedah untuk corak reka bentuk untuk meningkatkan kebolehgunaan semula kod

PHPz
Lepaskan: 2024-05-09 14:03:02
asal
280 orang telah melayarinya

Corak reka bentuk meningkatkan kebolehgunaan semula kod dan menyediakan struktur boleh guna semula, yang boleh dicapai melalui penciptaan objek abstrak, pelaksanaan enkapsulasi dan gandingan longgar: 1. Corak kilang memudahkan penciptaan objek, membolehkan anda menukar dan memasang Objek dengan lancar 2. Corak kilang abstrak memisahkan tanggungjawab mencipta keluarga objek daripada kod pelanggan;

Petua dan kaedah untuk corak reka bentuk untuk meningkatkan kebolehgunaan semula kod

Petua dan kaedah corak reka bentuk untuk meningkatkan kebolehgunaan semula kod

Corak reka bentuk ialah penyelesaian biasa dalam pembangunan perisian dan boleh digunakan untuk menyelesaikan pelbagai masalah biasa. Mereka menyediakan struktur kod boleh guna semula yang membantu anda menjadikan kod anda lebih boleh diguna semula, boleh diselenggara dan berskala. Di sini, kami akan membincangkan cara corak reka bentuk boleh meningkatkan kebolehgunaan semula kod dan menyediakan beberapa contoh praktikal untuk menunjukkan aplikasinya.

1. Corak kilang

Corak kilang digunakan untuk mencipta objek tanpa menyatakan jenis objek tertentu. Ini membolehkan anda membuat, memasang dan menggantikan objek dengan mudah tanpa mengubah kod panggilan. Sebagai contoh, kod berikut menggunakan corak kilang untuk mencipta objek bentuk:

class Factory {
  public static Shape getShape(String shapeType) {
    switch (shapeType) {
      case "circle":
        return new Circle();
      case "square":
        return new Square();
      default:
        return null;
    }
  }
}

public class FactoryDemo {
  public static void main(String[] args) {
    Shape shape = Factory.getShape("circle");
    shape.draw();
  }
}
Salin selepas log masuk

2. Corak Kilang Abstrak

Corak kilang abstrak memanjangkan corak kilang dan digunakan untuk mencipta keluarga objek tanpa menyatakan kelas konkritnya . Ini membolehkan anda memisahkan kod klien daripada pelaksanaan yang sebenarnya mencipta objek. Contohnya, kod berikut menggunakan corak kilang abstrak untuk mencipta objek berwarna:

interface ColorFactory {
  public Color getColor(String colorType);
}

class RedFactory implements ColorFactory {
  @Override
  public Color getColor(String colorType) {
    if (colorType == "red") {
      return new Red();
    }
    return null;
  }
}

class BlueFactory implements ColorFactory {
  @Override
  public Color getColor(String colorType) {
    if (colorType == "blue") {
      return new Blue();
    }
    return null;
  }
}

public class AbstractFactoryDemo {
  public static void main(String[] args) {
    ColorFactory factory = new RedFactory();
    Color color = factory.getColor("red");
    color.fill();
  }
}
Salin selepas log masuk

3. Corak jambatan

Corak jambatan membolehkan anda memisahkan bahagian abstrak daripada bahagian pelaksanaan, membolehkan anda menukarnya secara bebas. Ini dicapai dengan memisahkan kelas abstrak daripada kelas pelaksanaan, membenarkan kelas pelaksanaan diubah suai tanpa menjejaskan kelas abstrak. Contohnya, kod berikut menggunakan corak jambatan untuk mencipta bentuk grafik:

interface Shape {
  public void draw();
}

class Circle implements Shape {
  @Override
  public void draw() {
    System.out.println("Draw a circle");
  }
}

class Bridge {
  protected Shape shape;

  public Bridge(Shape shape) {
    this.shape = shape;
  }

  public void draw() {
    shape.draw();
  }
}

class BridgeDemo {
  public static void main(String[] args) {
    Shape circle = new Circle();
    Bridge bridge = new Bridge(circle);
    bridge.draw();
  }
}
Salin selepas log masuk

4 Corak Singleton

Corak tunggal memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan akses global kepada tika itu. Ini penting untuk mencipta objek selamat benang, menyimpan cache objek dan menghalang penciptaan berbilang kejadian. Contohnya, kod berikut menggunakan corak tunggal untuk mencipta sambungan pangkalan data:

public class DatabaseConnection {

  private static DatabaseConnection instance;

  private DatabaseConnection() {}

  public static DatabaseConnection getInstance() {
    if (instance == null) {
      instance = new DatabaseConnection();
    }
    return instance;
  }

  public void connect() {
    System.out.println("Connect to the database");
  }
}

public class SingletonDemo {
  public static void main(String[] args) {
    DatabaseConnection db1 = DatabaseConnection.getInstance();
    DatabaseConnection db2 = DatabaseConnection.getInstance();

    System.out.println(db1 == db2); // true
    db1.connect();
  }
}
Salin selepas log masuk

Dengan menggunakan corak reka bentuk ini, anda boleh meningkatkan kebolehgunaan semula kod anda, menjadikannya lebih mudah untuk diselenggara dan dilanjutkan. Corak reka bentuk membantu anda menulis perisian yang lebih fleksibel dan boleh disesuaikan dengan mengabstraksi penciptaan objek, merangkum pelaksanaan dan mempromosikan gandingan longgar antara komponen.

Atas ialah kandungan terperinci Petua dan kaedah untuk corak reka bentuk untuk meningkatkan kebolehgunaan semula kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan