Untitled
unknown
plain_text
a year ago
1.1 kB
1
Indexable
Never
Tôi không đồng ý với thiết kế trên : - Vi phạm chữ S trong SOLID: " 1 class chỉ nên thực hiện 1 trách nhiệm". - Nhiều devs có thể làm việc trên cùng 1 dự án và sửa cùng class cho cùng 1 lí do, điều nãy có thể dẫn đến việc ko tương thích giữa các modules. -> giảm xung đột vì mỗi 1 class chỉ có 1 lí do để thay đổi . -method print vô lí : nếu chủ quán muốn thay đổi format in thì cta lại phải thay đổi class order ( vi phạm chữ O - closed for modification) . - chủ quán muốn lưu trữ dữ liệu 2 nơi , thiết kế chưa giải quyết điều đó : tạo orderPrint OrderUtil - áp dụng nguyên tắc đảo ngược phụ thuộc( chữ D) để tạo interface OrderUtil với 2 phương thức save and load và cho lớp kế thừa, ( tính chất đa hình OOP) - Nên tách phương thức printOrder(), saveTo,...ra . - Khiến cho ct dễ kiểm soát hơn, bài 2 : thiết kế vi phạm chữ L nếu thêm tính năng thanh toán bằng thẻ kế thừa paymentstryment. thay đổi thiết kế :