Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
SOLID for design
Khi thiết kế code, anh có đảm bảo tính SOLID không ạ. Có thể đảm bảo cả 5 chữ cái SOLID trong cùng 1 source code k anh
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
Chắc chắn là những người đi viết thư viện như anh phải đảm bảo cả 5 yếu tố SOLID rồi em ạ. Nếu không thì không thể nào mà người dùng có thể sử dụng được thư viện.

S: Mỗi lớp làm 1 việc, mỗi hàm làm 1 việc sẽ giúp anh tiết kiệm được thời gian viết docs, cái đó gọi là self-comment

O: Đóng với thay đổi, mở với việc mở rộng, giúp người sử dụng có thể dễ dàng thừa kế các chức năng trong thư viện của anh, và khi nâng cấp phiên bản anh vẫn sẽ đảm bảo được tương thích ngược

L: Giúp cho thư viện của anh có thể chấp nhận dữ liệu của người dùng truyền vào và thực thi nó, miễn sao nó sử dụng các interface mà anh quy định, chính vì thế mà ezyfox-server mới có thể chập nhận được các plugin hay app như vậy

I: Việc chia nhỏ 1 interface thành các interface nhỏ hơn sẽ giúp người sử dụng chỉ cần quan tâm đến các chức năng mà họ cần thay vì phải lôi ra cả 1 lớp to đùng với biết bao nhiêu hàm

D: Giúp người sử dụng không cần quan tâm đến việc khởi tạo đối tượng cũng như quản lý các đối tượng đó, họ chỉ đơn giản là tạo ra các lớp và sử dụng mà thôi

  • 1
  • Reply