Bộ điều hợp mẫu thiết kế php

Trong hướng dẫn này mình sẽ giới thiệu đến các bạn một trong những Pattern thuộc nhóm Structural Patterns [Mẫu thiết kế kiến ​​trúc] đó là Adapter Pattern

Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.

Ở bài viết này mình sẽ giới thiệu sơ qua các khái niệm về Adapter Pattern và cách phát triển nó như thế nào, sau đó sẽ thực hiện chương trình đơn giản với Adapter Pattern

Adapter Pattern là gì?

Adapter Pattern có chức năng điều chỉnh giao diện [giao diện] này sang giao diện khác. Nó hoạt động như một cầu nối giữa hai giao diện không liên quan, tương tự như máy quét hoạt động như một cầu nối giữa giấy và máy tính

Điều này giúp các lớp có giao diện khác nhau có thể giao tiếp với nhau thông qua một giao diện trung gian

Bài viết này đã được đăng tại [free tuts. bọc lưới]

Đơn giản chương trình với Adapter Pattern Java

Trình tạo giao diện là giao diện chung nhất, nó cung cấp một phương thức chấp nhận các loại tòa nhà và vị trí của nó

Người xây dựng. java

public interface Builder {
    public void build[String type, String location];
}

Giao diện AdvancedBuilder cung cấp hai phương thức đó là. xây dựngNhà chọc trời

AdvancedBuilder. java

public interface AdvancedBuilder {
    public void buildHouse[String location];
    public void buildSkyscrapper[String location];
}

Tại đây chúng ta sẽ tạo một lớp HouseBuilder để thực thi giao diện AdvancedBuilder

NhàXây Dựng. java

public class HouseBuilder implements AdvancedBuilder {
    @Override
    public void buildHouse[String location] {
        System.out.println["Xây dựng một ngôi nhà nằm trong " + location + " khu vực!"];
    }
    @Override
    public void buildSkyscrapper[String location] {
    }
}

Cũng tương tự như vậy, chúng ta sẽ tạo thêm một lớp nữa đó là SkyscrapperBuilder

Tòa Nhà Chọc Trời. java

public class SkyscrapperBuilder implements AdvancedBuilder {
    @Override
    public void buildSkyscrapper[String location] {
        System.out.println["Xây dựng một tòa nhà chọc trời trong " + location + " khu vực!"];
    }
    @Override
public void buildHouse[String location] {
    }
}

Ở đây có một phần bộ điều hợp để kết nối hai giao diện này

Bộ chuyển đổi Builder. java

public class BuilderAdapter implements Builder {
    AdvancedBuilder advancedBuilder;

    public BuilderAdapter[String type] {
        if[type.equalsIgnoreCase["Nhà"]] {
            advancedBuilder = new HouseBuilder[];
        } else if[type.equalsIgnoreCase["Tòa nhà chọc trời"]] {
            advancedBuilder = new SkyscrapperBuilder[];
        }
    }

    @Override
    public void build[String type, String location] {
        if[type.equalsIgnoreCase["Nhà"]] {
            advancedBuilder.buildHouse[location];
        } else if[type.equalsIgnoreCase["Tòa nhà chọc trời"]] {
            advancedBuilder.buildSkyscrapper[location];
        }
    }
}

Khi Adapter hoạt động, chúng ta có thể sử dụng phương thức của các giao diện để xây dựng các loại tòa nhà

BuilderThực hiện. java

public class BuilderImplementation implements Builder {
    BuilderAdapter builderAdapter;

    @Override
    public void build[String type, String location] {
        if[type.equalsIgnoreCase["Nhà"] || type.equalsIgnoreCase["Tòa nhà chọc trời"]] {
            builderAdapter = new BuilderAdapter[type];
            builderAdapter.build[type, location];
        } else {
            System.out.println["Loại tòa nhà không hợp lệ."];
        }
    }
}

Cuối cùng chúng ta sẽ tạo một hàm Main để chạy chương trình

Chủ yếu. java

public class Main {
    public static void main[String[] args] {
        BuilderImplementation builderImpl = new BuilderImplementation[];

        builderImpl.build["Nhà", "trung tâm"];
        builderImpl.build["Tòa nhà chọc trời", "trung tâm thành phố"];
        builderImpl.build["Tòa nhà chọc trời", "vùng ngoại ô"];
        builderImpl.build["Khách sạn", "trung tâm thành phố"];
        System.out.println["-------------------------------------------"];
        System.out.println["Chương trình này được đăng tại Freetuts.net"];
    }
}

Kết quả sau khi chạy chương trình

Như vậy là chúng ta đã cùng nhau tìm hiểu Adapter Pattern là gì? . Chúc các bạn thực hiện thành công

Bộ điều hợp hoạt động như một trình bao bọc giữa hai đối tượng. Nó bắt các cuộc gọi cho một đối tượng và biến đổi chúng thành định dạng và giao diện mà đối tượng thứ hai có thể nhận ra

Tìm hiểu thêm về Bộ điều hợp

dẫn đường

giới thiệu

Ví dụ khái niệm

mục lục

đầu ra

Ví dụ thế giới thực

mục lục

đầu ra

phức tạp.

Phổ biến.

ví dụ sử dụng. Mẫu Adapter khá phổ biến trong mã PHP. Nó thường được sử dụng trong các hệ thống dựa trên một số mã kế thừa. Trong những trường hợp như vậy, Bộ điều hợp làm cho mã kế thừa hoạt động với các lớp hiện đại

Nhận biết. Bộ điều hợp có thể được nhận dạng bởi một hàm tạo lấy một thể hiện của một loại giao diện/trừu tượng khác. Khi bộ điều hợp nhận được lệnh gọi đến bất kỳ phương thức nào của nó, nó sẽ dịch các tham số sang định dạng thích hợp và sau đó hướng lệnh gọi đến một hoặc một số phương thức của đối tượng được bao bọc.

Ví dụ khái niệm Ví dụ thế giới thực

Ví dụ khái niệm

Ví dụ này minh họa cấu trúc của mẫu thiết kế Bộ điều hợp và tập trung vào các câu hỏi sau

  • Nó bao gồm những lớp nào?
  • Các lớp này có vai trò gì?
  • Các yếu tố của mẫu có liên quan với nhau theo cách nào?

Sau khi tìm hiểu về cấu trúc của mẫu, bạn sẽ dễ dàng nắm bắt ví dụ sau, dựa trên trường hợp sử dụng PHP trong thế giới thực

mục lục. php. ví dụ khái niệm

Chủ Đề