Академический Документы
Профессиональный Документы
Культура Документы
Los requisitos cambian. Es algo con lo que todos tenemos que lidiar cada da. De esto se desprende que, independientemente del tiempo que hayas invertido en la captura de requisitos y de las muchas funcionalidades extra que hayas podido implementar (en contra de lo que dicta YAGNI), tu aplicacin va a tener que cambiar. Ser mejor que ests preparado ello. Una forma de estarlo es seguir los 5 principios bsicos de la programacin orientada a objetos, explicados en Agile Software Development: Principles, Patterns, and Practices por uno de los grandes exponentes de la artesana del software, el famoso Uncle Bob (Robert C. Martin) Estos principios, cuyas primeras letras forman el acrnimo mnemotcnico SOLID (slido), son los siguientes:
clase dependiendo de si el archivo es un MP3, un WMA o un OGG. Si quiero aadir un nuevo formato ms tarde, tendr que modificar el switch, aadiendo una nueva expresin que llame a otra funcin. Si en lugar de utilizar un switch definimos reproducir como abstracto, y movemos la implementacin a varias clases hijas, una por cada formato, cuando queramos aadir un nuevo formato, slo necesitaremos crear una nueva clase hija.
Supongamos que tenemos una clase que se encargar de gestionar la configuracin de la aplicacin, y esta utiliza (tiene una dependencia de) una clase que permite leer y escribir de un archivo de texto plano. Pero, y si de repente decidimos que queremos utilizar una base de datos? o un archivo XML? Lo ideal sera que nuestra clase utilizara una clase abstracta o una interfaz, en lugar de una implementacin concreta, como era la clase para trabajar con archivos de texto plano.