This section is dedicated to Solutions Architecture and Software Development. The general description of a Solutions Architect role is available here. "Architecting is the specification of a system that, when constructed, will
exhibit required properties. In other words, architecting is the creation of
descriptions of a system that are suitable for evaluation and serve as plans for
implementation. The description of a system must include the specification of
quality attributes and the description of the design in terms of software
structures that will implement those properties.", Albin, Stephen T. (2003). The Art of Software Architecture: Design Methods and Techniques. Indianapolis, IN: Wiley Publishing, Inc. "From an enterprise point of view, there are four types of architecture:
Collectively, these architectures are referred to as enterprise architecture." Suggested reading: Architecting Microsoft .NET Solutions for the Enterprise, Microsoft Application Architecture Guide, 2nd Edition 2009 (link) on MSDN, Design Guidelines for Developing Class Libraries (link) on MSDN.Object-Oriented PrinciplesCode should adhere to principles of good Object-Oriented design. Read more on OO Design page. VersioningDomain-Driven DesignFor a quick introduction to Domain-Driven Design, read "Domain-Driven Design Quickly" from InfoQ (link).
Components and ServicesIn the text about Dependency Injection and Inversion of Control (link), Martin Fowler gives definitions of Components and Services. Links and References |