This document discusses software architecture concepts like WCF, EF, layered models, and TCM. It provides definitions and examples of concepts like repository pattern, service contracts, unit testing, LINQ expressions, attributes, inheritance, interfaces, surrogate types, extension methods, and cross-cutting concerns. It also includes examples of layered architecture with different layers like presentation, service, business logic, data access, and entity layers. Database concepts like tables, columns, stored procedures, functions and views are mapped to object-oriented concepts like classes, methods, properties, generics and attributes. Sample solutions demonstrating these concepts are also presented.