9 mẫu thiết kế mà mỗi lập trình viên dều phải biết

0
63

Bài viết nội dung

Video học lập trình mỗi ngày

Builder pattern là một mẫu thiết kế thuộc “Nhóm khởi tạo” (Creational Pattern). & là một mẫu thiết kế để phân phối một phương pháp linh động để tạo các đối tượng. Rõ ràng hơn là Builder pattern giúp tất cả chúng ta xây dựng một đối tượng cầu kỳ bằng cách dùng các đối tượng dễ dàng bằng cách phân phối cách tiếp cận từng đối tượng dễ dàng. Cùng xem 1 phía dẫn dưới đây.

Cập nhật Phần 2: Factory pattern là gì? Vì sao mô hình VINFAST lại sử dụng?

Builder pattern là gì

Builder Pattern phân chia một đối tượng cầu kỳ thành nhiều phần tương đối dễ dàng, sau đó tạo chúng tách biệt theo các nhu cầu khác nhau, & cuối cùng là xây dựng đối tượng cầu kỳ. 

Nếu bạn không hiểu phần giới thiệu về Builder pattern là gì? Ở phía trên thì không vấn đề gì cả, đừng lo ngại. Thực tiễn mà nói, các mẫu thiết kế được các developers sử dựng hằng ngày, nhưng có thể bạn chưa nhận thấy đó mà thôi. Việc phối hợp những chẳng hạn dưới đây sé giúp bạn hiểu & định hình sâu hơn về những thiết kế mà mình đang sử dụng. & một trong 9 thiết kế mà mỗi lập trình viên cần phải biết này là Builder pattern. Dưới đây, tôi đã chuẩn bị ba chẳng hạn để bạn biết tình huống nào sẽ sử dụng thiết kế này. Ok, let’s go.

XEM THÊM  Top 10 kết quả tìm kiếm cách lấy id zalo mới nhất 2022

Xây dựng một chiếc ô tô sử dụng Builder Pattern

Như ai cũng biết rằng để xây dụng một chiếc ô tô thường bao gồm nhiều phòng ban khác nhau, & bước này tôi lấy 3 phòng ban để làm chẳng hạn này là một động cơ, hai là khung, ba là thân xe tóm lại là tất cả chúng ta đang kể đến 3 phòng ban. Thực tiễn là như thế, việc tách rời những phòng ban của chiếc xe ô tô để chế tác thì có vẻ sẽ dễ dàng hơn là sản xuất nguyên một chiếc ô tô. Đó chính là mô hình Builder Pattern mà tôi đang cố giải thích cho bạn. Nếu bạn chưa hiểu tất cả chúng ta sẽ đi xem chẳng hạn thứ 2, code chẳng hạn sẽ ở cuối nội dung.

Xây dựng các khối lego sử dụng Builder Pattern

Mô hình lego thì quá thân thuộc rồi, tôi & con tôi chơi suốt. Nhưng nhiều khi bạn có để mắt là mỗi lần mua hộp lego về thì sẽ có tờ chỉ dẫn kèm theo. Các khối Lego là một cảnh lắp ghép bỗng dưng điển hình. Bạn có rất là nhiều khối Lego. Để xây một ngôi nhà nhỏ thì quá cầu kỳ. Bạn có thể phải học theo chỉ dẫn từng bước. Điều này giống như tạo một đối tượng cầu kỳ với rất là nhiều đầu vào. 

Các thông số kỹ thuật & thứ tự không được sai. Nhưng con tôi thì nó chỉ mong muốn lắp theo sở thích của nó, không theo một phép tắc nào. & nó chỉ mong muốn lập tức có được một ngôi nhà xí chuẩn, sao cho nhanh nhất & tiện dụng nhất? Chính vì vậy Builder Pattern giúp tất cả chúng ta chỉ build những gì thực sự cần thiết mà thôi. Tất cả chúng ta qua chẳng hạn kế tiếp trước khi đi vào một đoạn code rõ ràng.

XEM THÊM  Top 13 kết quả tìm kiếm chế camera từ điện thoại cũ mới nhất 2022

Xây dựng một dàn máy máy tính sử dụng Builder Pattern

Ở chẳng hạn 2 là kể đến Con tôi, giờ đến lượt tôi. Thật sự mong muốn build một dàn máy máy tính thì ai cũng như nhau. Nhưng chỉ khác một điều là cách mua thế nào. Ở giai đoạn này có hai cách, này là một ra PHONG VŨ mua một con được lắp sẵn tại cửa hiệu. Hai là tự mình ra mua những linh kiện laptop cần thiết để phục vụ cho mình, rõ ràng là tôi mong muốn mua linh kiện cho mục đích đáng DOTA2 của tôi. 

Vì thế tôi chia những linh kiện (đối tượng dễ dàng) & gộp lại thành một cái máy tính mà tôi mong muốn (xây dựng đối tượng cầu kỳ). Thông qua 3 chẳng hạn rõ ràng tôi cũng nghĩ là bạn đã hiểu được phần nào của việc sử dụng Builder Pattern. & kế tiếp, tôi sẽ xây dựng một đoạn code về chẳng hạn đầu tiên. Còn 2 & 3 thì các chúng ta nên tự khám phá & code nhé.

Code Triển khai Builder Pattern xây dựng một chiếc ô tô

//Một chiếc xe gồm có 3 phòng ban
"use strict";
class Car {
    constructor(engine, chassis, body) {
        this.engine = engine;
        this.chassis = chassis;
        this.body = body;
    }
    
		toString(){
    	return JSON.stringify(this)
    }
}

Xây dựng từng phòng ban của xe

class CarBuilder {
    addChassis(chassis) {
        this.chassis = chassis;
        return this;
    }
    addEngine(engine) {
        this.engine = engine;
        return this;
    }
    addBody(body) {
        this.body = body;
        return this;
    }
    build() {
        return new Car(this.engine, this.chassis, this.body);
    }
}

Build thôi

const car = new CarBuilder()
    .addEngine('v12')
    .addBody('KIA SOLUTO')
    .addChassis('LUXURY')
    .build();

const car1 = new CarBuilder().addEngine('v10')
    .addBody('KIA SOLUTO LUXURY').build();

    
console.log('kakaka Car', car.toString())
console.log('kakaka Car1', car1.toString())

Béo lại

Cập nhật Phần 2: Factory pattern là gì? Vì sao mô hình VINFAST lại sử dụng?

XEM THÊM  Top 13 kết quả tìm kiếm huong dan cai dat kali linux mới nhất 2022

Như thế trong chỉ dẫn này, https://phptravels.vn/ đã trình bày một mẫu Builder trong JavaScript. Có mục đích giúp bạn nắm vững về Builder Pattern, đây là một trong 9 mẫu thiết kế mà mỗi developers phải nắm sâu & rõ nhất. Ở phần sau tất cả chúng ta sẽ nói về factory pattern này là một mô hình cầu kỳ được chia nhỏ thành 3 phần: 

  • Simple factory 
  • Factory method 
  • Abstract factory 

Mời các bạn đón đọc. Xin chào & hẹn hội ngộ!

Có thể bạn đã bị missing


Builder Thiết kế Pattern: Code là dễ ? (₵#)


Hế lô hế lô, Ông dev đây!
Trong video này mình sẽ giới thiệu về Builder Thiết kế Pattern.
Đây là một pattern được sử dụng rất thông dụng.
Bằng việc sử dụng builder nó sẽ giúp cho code của chúng ta dễ đọc hơn, việc khởi tạo không còn khốn khó khi làm việc với các object có số lượng property lớn & cầu kỳ.
Backlinks của cả playlist thiết kế pattern:
https://www.youtube.com/playlist?list=PLoaAbmGPgTSOrVuxwbnDJ14U9J6CXJXUk
Source code: https://github.com/MiloNguyen95/designpatterntutorial
Để xem những video về lập trình & gaming
Nhấp vào đây để theo dõi kênh mình nhé: https://duyngd.com/Subscribe
Blog của mình
https://duyngd.com
Fb page của mình
https://www.facebook.com/ongdevvuitinh
Ủng hộ Ông Dev
https://unghotoi.com/ongdev
Cảm ơn các bạn đã quan tâm theo dõi
Ôngdev Builder DesignPattern

Tham khảo thêm nội dung thuộc chuyên đề: Thủ thuật máy tính
Xem thêm bài viết thuộc chuyên mục: Thủ thuật máy tính