vineri, august 12, 2005

Foarte adavarat: o continuare a intrarii precedente din blog

Am gasit aceasta intrare in blog-ul lui Ralph Johnson (Gang of Four). Este o referinta spre Grady Booch (Three Amigos). Parerea mea e ca tot ce spune Ralph despre arhitecturi software, aproape ca poate fi considerar citat. E intr-un fel un mentor in ingineria software cu o mare aplecare asupa pattern-urilor si cu accent spre framework-uri:

Grady Booch is starting a project to build the Software Architecture Handbook There isn't much there now, but you can see what he is planning, and it is ambitious! He has over a hundred systems on his list. He plans to describe the architecture of each, and then to describe the patterns in them. This is way bigger than any one person can do, and will have a major impact on all software development if he can pull it off.

Un ciatat gasit intro referinta din blogul lui Ralph Jojnson spre un sit al lui Grady Booch. Incredibil de frumos spus:

Software development has been, is, and will likely remain fundamentally hard. To that end, the entire history of software engineering is one of rising levels of abstaction (for abstraction is the primary way we as humans deal with complexity), and we see this reflected in the maturation of our programming languages, platforms, processes, tools, and patterns. Indeed, every well-structured software-intensive system is full of patterns, ranging from idioms that shape the use of a particular programming language to mechanisms that define the collaboration among societies of objects, components, and other parts. At the highest level of abstraction, every system has an architecture, encompassing the key abstractions and mechanisms that define that system's structure and behavior as seen from the perspective of different stakeholders, each with a different set of concerns. In every case - from idioms to mechanisms to architectures - these patterns are either intentional or accidental, but insofar as they are visible, such patterns reflect the style and inner beauty of each system.

It is a sign of maturity for any given engineering discipline when we can name, study, and apply the patterns relevant to that domain. In civil engineering, one can study the fundamental elements of architecture in works that expose and compare common architectural styles. Similarly, in chemical engineering, mechanical engineering, electrical engineering, and now even genomic engineering, there exist libraries of common patterns that have proven themselves useful in practice.