Architecture as Language
暂无分享,去创建一个
Software architecture is a somewhat funny thing. Everybody in software development agrees that we need it in some way, shape or form. However, we cannot agree on a definition, we don’t really know how to manage it efficiently in non-trivial projects and we usually don’t have ways to express a system’s architectural abstractions precisely and concisely. Asking some of my customers to describe a system’s architecture, I get responses that include specific technologies, buzzwords (such as AJAX or SOA) or vague notions of “components” (like publishing, catalogue or payment). Some have wallpaper-sized UML diagrams, the meaning of the boxes and lines not being really clear. All of these things are aspects of the architecture of their system. But none of those explanations represent a concise, unambiguous and “formal” description of the core abstractions of a system.
[1] Kent Beck,et al. A laboratory for teaching object oriented thinking , 1989, OOPSLA 1989.