Factory design pattern

Factory Design Pattern là một trong những Creational Design Pattern phổ biến nhất.

Mục đích chính của Factory Design Pattern là logic tạo các instance và object riêng biệt từ client. Chúng ta thực thi logic tạo ra object trong Factory class mà không để lộ logic đó cho phía Client.

Factory Design Pattern cũng được biết như là Factory Method Design Pattern. Nó thường được sử dụng khi chúng ta có một supper class với nhiều class con và dựa vào đầu vào, chúng ta cần trả về một trong những class con.

Ưu điểm của Factory Design Pattern

Factory Design Pattern có những ưu điểm sau:

  • Kết nối tách rời giữa logic tạo object và client
  • Phân tách rõ ràng trách nhiệm
  • Dễ dàng thay đổi logic tạo object không gây ảnh hưởng đến chương trình client

Factory Design Pattern trong Scala

Trong Scala chúng ta có thể thực hiện một Factort class sử dụng Singleton object và pattern matching.

Đầu tiên chúng ta sẽ tạo class kế thừa và Factory class như bên dưới

ComputerFactory.scala

Scala không có khái niệm interface. Tuy nhiên, nó có khái niệm mạnh hơn interface đó là: Trait. Ở trên, chúng ta đã code dựa trên Trait với tất cả các hàm và phương thức cần thiết.

Object ComputerFactory là một Singleton Object. Nó được sử dụng để cung cấp phương thức factory để tạo object của chúng ta. Tiếp theo tạo một client để test đoạn code Scala này:

FactoryMethodDesignPatternClient.scala

Output

Cải tiến Factory Design Pattern trong Scala

Trong phần này chúng ta sẽ thử cải tiến đoạn code bên trên sử dụng case class của Scala.

Sử dụng đoạn code Client ở trên để test thì chúng ta sẽ nhận được kết quả tương tự.

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

avatar
  Subscribe  
Notify of