12/08/2018, 13:59

Design Pattern - Factory Pattern (Part 2)

Ở bài viết trước, tôi đã giới thiệu với bạn ví dụ về cách sử dụng Factory Pattern trong Java. Ở bài viết này chúng ta sẽ đi sâu một chút để tìm hiểu kỹ xem Factory pattern có lợi ích gì khi sử dụng? Khi nào thì ta có thể dùng nó? Bài trước: Design Pattern - Factory Pattern - (Part 1) Kiến ...

Ở bài viết trước, tôi đã giới thiệu với bạn ví dụ về cách sử dụng Factory Pattern trong Java. Ở bài viết này chúng ta sẽ đi sâu một chút để tìm hiểu kỹ xem Factory pattern có lợi ích gì khi sử dụng? Khi nào thì ta có thể dùng nó?

Bài trước: Design Pattern - Factory Pattern - (Part 1)

Kiến trúc

Dưới đây là biểu đồ class cho ví dụ ở phần trước:

Screen Shot 2016-10-07 at 3.48.00 PM.png

Ở hình trên ta có thể thấy có 3 Class Honda, NexusToyota đều được implements từ Class Car. Cả 3 class này đều là con của class Car nên nó thừa hưởng tất cả các tính chất của Car và phải override lại phương thức view() của Car. Tuy nó có chung phương thức nhưng chúng ta có thể định nghĩa khác nhau cho nó. Hiểu đơn giản là bạn đến cửa hàng Honda để bạn xem xe của hãng Honda chứ không phải xem của Nexus hay Toyota. Và 2 cửa hàng kia cũng vậy. Cho nên Chúng ta phải viết nội dung của phương thức view() khác nhau cho từng Class con.

Tưởng tượng class Boss chính là bạn. Bạn muốn đi xem các hãng ô tô khác nhau mà không muốn đi tới từng cửa hàng khác nhau. Vậy thì phải làm thế nào? Đừng lo, đã có CarFactory =)). CarFactory đơn giản giống như là 1 cửa hàng có bán nhiều loại xe, bạn chỉ việc tới đó và xem các loại ô tô khác nhau mà không cần phải đi lại nhiều. Hoặc cách hiểu khác thì CarFactory giống như 1 thằng môi giới đi mồi chài bạn. Nó có các kiến thức để tư vấn cho bạn về các loại xe mà bạn quan tâm             </div>
            
            <div class=

0