Xem xét ví dụ này:
Tôi có một trang web. Nó cho phép người dùng tạo bài đăng (có thể là bất cứ điều gì) và thêm các thẻ mô tả bài đăng. Trong mã, tôi có hai lớp đại diện cho bài viết và thẻ. Hãy gọi những lớp này Postvà Tag.
Postđảm nhiệm việc tạo bài viết, xóa bài đăng, cập nhật bài viết, v.v ...
Tagđảm nhiệm việc tạo thẻ, xóa thẻ, cập nhật thẻ, v.v.
Có một hoạt động bị thiếu. Việc liên kết các thẻ với bài viết. Tôi đang vật lộn với ai nên thực hiện thao tác này. Nó có thể phù hợp như nhau trong cả hai lớp.
Một mặt, Postlớp có thể có một hàm lấy Tagtham số, và sau đó lưu nó vào danh sách các thẻ. Mặt khác, Taglớp có thể có một hàm lấy Posttham số và liên kết Tagđến Post.
Trên đây chỉ là một ví dụ về vấn đề của tôi. Tôi thực sự đang chạy vào điều này với nhiều lớp hoàn toàn giống nhau. Nó có thể phù hợp như nhau trong cả hai. Nói ngắn gọn là thực sự đưa chức năng vào cả hai lớp, những quy ước hay phong cách thiết kế nào tồn tại để giúp tôi giải quyết vấn đề này. Tôi đang giả sử phải có một cái gì đó ngắn gọn chỉ cần chọn một?
Có lẽ đặt nó trong cả hai lớp là câu trả lời đúng?