Diseño orientado a interfaces (parte I)

- Un robot no puede hacer daño a un ser humano o, por su inacción, permitir que un ser humano sufra daño.
- Un robot debe obedecer las órdenes dadas por los seres humanos, excepto si estas órdenes entrasen en conflicto con la Primera Ley.
- Un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la Primera o la Segunda Ley.
1. La implementación de una interfaz debe hacer lo que sus métodos dicen que hacen.Esta ley indica que los nombres de los métodos deben corresponder a la acción que hacen, y que cada método debe devolver un valor que indique si la operación ha tenido éxito o si al contrario hay error.
2. Una interfaz no debe interferir otros módulos de un programa o con otros programas.En este caso, se expone que una interfaz no debe utilizar recursos de otros módulos, es decir si uno de los propósitos de la interfaz es leer un dato de un fichero, no necesita una conexión a una base de datos.
3. Si una implementación no es capaz de realizar su responsabilidad, debe notificar a quien lo llamó.La implementación debe reportar siempre el problema que encuentra, si no es capaz de realizar la acción, debe informar a su creador o invocador e informarle del problema mediante un código de error o un estado.
La verdad es que este tipo de diseño, abre un nuevo camino a explorar y sobretodo permite comprobar si el diseño de nuestras aplicaciones es correcto o no desde el punto del aprovechamiento de las propiedades de la OO, sabiendo aplicar correctamente la herencia, el polimorfismo, etc.
En un segundo post, pondré varios ejemplos utilizando las interfaces con los diferentes patrones de diseño que se utilizan.
Hi there Jordi! Long time without visiting your blog... Lots of useful stuff added. Wowh! That's great!
ReplyDeleteHow r u doing? I stopped in this post precisely. Glad to hear you are hooked on this book. I feel it has to be a must reading one! I'm very keen on good interface design practices and i'm looking forward to reading your next post about it!
Good job. Have fun my friend!
Hi! I'm glad that you liked! You have to wait for the next posts because I'm going to give more details about it with a very good practices. I even put a comment on Andy's blog to told him of our new pragmatic thinking. He published in his blog a new serie of books called "the pragmatic life", I'm waiting for them!!!!.
ReplyDeleteGlad to hear from you my friend!