Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns. - Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman
Marc Clifton is a leader in .NET software architecture. He is:
- an author, having published over 140 articles on C#, XML, the .NET framework, database and software architecture on The Code Project.
- the creator of three open-source projects: MyXaml, Traceract, and the Advanced Unit Testing Framework
- the developer of Interacx, an n-tier client-server rapid development application suite