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 Post
y Tag
.
Post
se encarga de crear publicaciones, eliminar publicaciones, actualizar publicaciones, etc.
Tag
se 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 Post
clase podría tener una función que tome a Tag
como parámetro y luego la almacene en una lista de etiquetas. Por otro lado, la Tag
clase podría tener una función que tome a Post
como parámetro y vincule Tag
a 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?