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 Post
và 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, Post
lớp có thể có một hàm lấy Tag
tham số, và sau đó lưu nó vào danh sách các thẻ. Mặt khác, Tag
lớp có thể có một hàm lấy Post
tham 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?