Considere este ejemplo:
Tengo un sitio web Permite a los usuarios hacer publicaciones (puede ser cualquier cosa) y agregar etiquetas que describen la publicación. En el código, tengo dos clases que representan la publicación y las etiquetas. Vamos a llamar a estas clases Posty Tag.
Postse encarga de crear publicaciones, eliminar publicaciones, actualizar publicaciones, etc.
Tagse encarga de crear etiquetas, eliminar etiquetas, actualizar etiquetas, etc.
Hay una operación que falta. La vinculación de etiquetas a publicaciones. Estoy luchando con quién debería hacer esta operación. Podría encajar igualmente bien en cualquier clase.
Por un lado, la Postclase podría tener una función que tome a Tagcomo parámetro y luego la almacene en una lista de etiquetas. Por otro lado, la Tagclase podría tener una función que tome a Postcomo parámetro y vincule Taga Post.
Lo anterior es solo un ejemplo de mi problema. De hecho, me encuentro con esto con varias clases que son todas similares. Podría encajar igualmente bien en ambos. Además de poner realmente la funcionalidad en ambas clases, qué convenciones o estilos de diseño existen para ayudarme a resolver este problema. ¿Asumo que tiene que haber algo menos que elegir uno?
¿Quizás ponerlo en ambas clases es la respuesta correcta?