lunes, 2 de septiembre de 2013

Architecture and Pasta

If someone listen the words "architecture" and "pasta" together does not make sense. But some days ago I read a chapter of a book about Software Architecture, in this chapter describes different architectural styles and them compared with pasta.

Software architecture is an important topic, because all system or programs in the world have a design, although sometimes it does not seem.

The software architecture is very relevant because in the process of developing software, the knowledge about the scope is very important, and perform the architectural design of the program is quite helpful to define all that kind of stuff. In this process, you must remember that is important to keep everything simple and comprehensible for to people involved know and understand the software that is being developed.

Think about that software architecture is a complete analogy of the architecture of that building that you like. In software architecture there is much documentation from various perspectives like in the architecture of a house. These perspectives are the conceptual view, the implementation view, the process view and the deployment view. All this for to see first how is the system (conceptual view), then as we create it (implementation view), then for to see how it interacts (process view) and finally how we will install the application (deployment view).

As there are Baroque, Gothic and futuristic styles, there are styles in the software architecture.
It is certainly much easier to explain through pasta, I think in the end this post I prepare a little of pasta as it is giving me hungry.

Well all we recognize the spaghetti, the spaghetti not have a way, if this has nothing to do with some structure and so, it is no-architecture style, not used in industry but maybe in some school project.

I know that you have ever eaten lasagne and that's another style, known as layers, where each layer carries certain elements.

The cannelloni, which incidentally are very rich with lentils, are an example of another style known as pipe and filter. Something comes, performs a process and finish. It's that simple.

The gemelli, as we see two strips between loops and this is sample of the client-server architecture, a strip is the server and he other the client, and we need both for this system. Without a dough strips would not have the same use.

The conchiglie, definitely one of my favorites, each piece of dough is separated, but all are in soup, so is the component-based style. Each component is unique and not known to others, but lives together with the other components.

Canned ravioli, I am not fan of ravioli, but if a bit of food "just heat and eat". This is a style known as Framework, which is a library, which already does many things. The only thing you do is add more stuff.

No doubt the food metaphors regarding the software always make me hungry, so I hope you have enjoyed this post and I will now go and cook.

References
Goodliffe, P. (2006). Code craft.

No hay comentarios:

Publicar un comentario