Partitioning and Layering a Software ApplicationHow do you design your software to be more adaptable to changing technologies, fixing bugs and new requirements? Everyone answers: use layering. But exactly how do you develop software layers, or create application interfaces that allow you to make these changes? This course will focus on techniques such as interface-based design, proper use of inheritance, inversion of control, factories, facades, and other patterns and techniques. It will demonstrate these principles by walking through the process of transforming a tightly coupled application into a properly layered one. The examples are in C#, but the principles apply to any programming language.
Learning ResourcesPublished on: 7/19/2010
![]() Partitioning and Layer Fundamentals
![]() Extending Interface Based Design
![]() Domain and Persistence Patterns
![]() Inversion of Control and MVC
![]() Transforming the Application Have questions or feedback? Send us e-mail. |