Prácticas de acoplamiento flojo y OO para principiantes

as clases de @Keeping acopladas libremente son un aspecto importante de la escritura de código que es fácil de entender, modificar y depurar. Lo entiendo. Sin embargo, como novato, casi en cualquier momento voy más allá de los ejemplos más simples que lucho.

Entiendo, más o menos, cómo puedo encapsular cadenas, enteros y tipos de datos simples en clases propias. Sin embargo, cuando empiezo a tratar información como el formato de texto enriquecido, las cosas se vuelven realmente complicadas, a menos que solo use los diversos métodos ya presentes en un componente. Para continuar con este ejemplo, supongamos que estaba escribiendo algo que incluye un componente de nota RTF en la interfaz de usuario. En Delphi, el componente tiene métodos incorporados para hacer cosas como guardar texto formateado. Además, a veces parece que la única (o al menos mejor) forma de trabajar con el texto RTF es a través de métodos integrados nuevamente en el componente.

¿Cómo (o por qué) haría todo el trabajo de guardar, cargar y formatear texto en otra clase cuando ya tengo un componente que hace todo esto por mí?

Por mi cuenta, generalmente termino (a) haciendo algo que parece mucho más complicado de lo necesario, reinventando los métodos ya existentes o (b) creando clases mal hechas que todavía están estrechamente unidas entre sí. Como dicen en los comerciales, "¡Tiene que haber una mejor manera!"

Me acabo de perder conceptualmente sobre cómo funciona esa 'mejor manera'. ¿Alguna idea

Respuestas a la pregunta(4)

Su respuesta a la pregunta