Architecture and patterns
Design patterns in .NET
- Design patterns and practices in .NET: the Adapter Pattern
- Design patterns and practices in .NET: the Strategy Pattern
- Design patterns and practices in .NET: the Factory Patterns – concrete, static, abstract
- Design patterns and practices in .NET: the Null Object pattern
- Design patterns and practices in .NET: the Singleton pattern
- Design patterns and practices in .NET: the Decorator design pattern
- Design patterns and practices in .NET: the State pattern
- Design patterns and practices in .NET: the Template Method design pattern
- Design patterns and practices in .NET: the Chain of Responsibility pattern
- Design patterns and practices in .NET: the Composite pattern
- Design patterns and practices in .NET: the Interpreter pattern
- Design patterns and practices in .NET: the Mediator pattern
- Design patterns and practices in .NET: the Flyweight pattern
- Design patterns and practices in .NET: the Facade pattern
- Design patterns and practices in .NET: the Builder pattern
- Design patterns and practices in .NET: the Bridge pattern
- Design patterns and practices in .NET: the Observer pattern
- Design patterns and practices in .NET: the Prototype pattern
Design principles in .NET
- SOLID design principles in .NET: the Single Responsibility Principle
- SOLID design principles in .NET: the Open-Closed Principle
- SOLID design principles in .NET: the Liskov Substitution Principle
- SOLID design principles in .NET: the Interface Segregation Principle
- SOLID design principles in .NET: the Dependency Inversion Principle and the Dependency Injection pattern
- SOLID design principles in .NET: the Dependency Inversion Principle Part 2, DI patterns
- SOLID design principles in .NET: the Dependency Inversion Principle Part 3, DI anti-patterns
- SOLID design principles in .NET: the Dependency Inversion Principle Part 4, Interception and conclusions
- SOLID design principles in .NET: the Dependency Inversion Principle Part 5, Hello World revisited
- SOLID principles in .NET revisited part 1: introduction with code to be improved
- SOLID principles in .NET revisited part 2: Single Responsibility Principle
- SOLID principles in .NET revisited part 3: the Open-Closed principle
- SOLID principles in .NET revisited part 4: the Liskov Substitution Principle
- SOLID principles in .NET revisited part 5: the Liskov Substitution Principle 2
- SOLID principles in .NET revisited part 6: the Interface Segregation Principle
- SOLID principles in .NET revisited part 7: the Dependency Inversion Principle
- SOLID principles in .NET revisited part 8: clean-up
- SOLID principles in .NET revisited part 9: concentrating on enumerations
- SOLID principles in .NET revisited part 10: concentrating on enumerations resolved
- The Don’t-Repeat-Yourself (DRY) design principle in .NET Part 1
- The Don’t-Repeat-Yourself (DRY) design principle in .NET Part 2
- The Don’t-Repeat-Yourself (DRY) design principle in .NET Part 3
Domain Driven Design
Original skeleton project
- A model .NET web service based on Domain Driven Design Part 1: introduction
- A model .NET web service based on Domain Driven Design Part 2: DDD basics
- A model .NET web service based on Domain Driven Design Part 3: the Domain
- A model .NET web service based on Domain Driven Design Part 4: the abstract Repository
- A model .NET web service based on Domain Driven Design Part 5: the concrete Repository
- A model .NET web service based on Domain Driven Design Part 6: the concrete Repository continued
- A model .NET web service based on Domain Driven Design Part 7: the abstract Service
- A model .NET web service based on Domain Driven Design Part 8: the concrete Service
- A model .NET web service based on Domain Driven Design Part 9: the Web layer
- A model .NET web service based on Domain Driven Design Part 10: tests and conclusions
- Extension to the DDD skeleton project: domain specific rules Part 1
- Extension to the DDD skeleton project: domain specific rules Part 2
- Extension to the DDD skeleton project: caching in the service layer
- Extension to the DDD skeleton project: using an external settings source
- Extension to the DDD skeleton project: per session object context in Repository layer
DDD revisited
- Domain Driven Design with Web API revisited Part 1: introduction
- Domain Driven Design with Web API revisited Part 2: the problem domain and DDD basics refreshed
- Domain Driven Design with Web API revisited Part 3: shared kernel, bounded context and some initial code
- Domain Driven Design with Web API revisited Part 4: the ubiquitous language and our refined problem domain
- Domain Driven Design with Web API revisited Part 5: starting with the domain in code
- Domain Driven Design with Web API revisited Part 6: associations and standalone classes
- Domain Driven Design with Web API revisited Part 7: the aggregate root in our domain model
- Domain Driven Design with Web API revisited Part 8: the abstract repository
- Domain Driven Design with Web API revisited Part 9: the overall database context
- Domain Driven Design with Web API revisited Part 10: the load test database context
- Domain Driven Design with Web API revisited Part 11: database creation and initial tests
- Domain Driven Design with Web API revisited Part 12: testing the load testing database context
- Domain Driven Design with Web API revisited Part 13: view models
- Domain Driven Design with Web API revisited Part 14: the abstract application service
- Domain Driven Design with Web API revisited Part 15: the concrete application service
- Domain Driven Design with Web API revisited Part 16: the Web API consumer layer and the GET controller action
- Domain Driven Design with Web API revisited Part 17: the POST and DELETE controller actions
- Domain Driven Design with Web API revisited Part 18: tests and conclusions
- Domain Driven Design with Web API extensions part 1: notifications
- Domain Driven Design with Web API extensions part 2: notifications with the decorator pattern
- Domain Driven Design with Web API extensions part 3: starting with domain events
- Domain Driven Design with Web API extensions part 4: domain events in code
- Domain Driven Design with Web API extensions part 5: domain events between independent systems
- Domain Driven Design with Web API extensions part 6: domain events with RabbitMq
- Domain Driven Design with Web API extensions part 7: domain events with RabbitMq completed
- Domain Driven Design with Web API extensions part 8: domain repository with MongoDb
- Domain Driven Design with Web API extensions part 9: setting up MongoDb
- Domain Driven Design with Web API extensions part 10: the MongoDb context
- Domain Driven Design with Web API extensions part 11: the MongoDb database objects
- Domain Driven Design with Web API extensions part 12: seeding the MongoDb database
- Domain Driven Design with Web API extensions part 13: query examples with the MongoDb driver
- Domain Driven Design with Web API extensions part 14: implementing the ITimetableRepository interface in MongoDb
- Domain Driven Design with Web API extensions part 15: implementing the ITimetableViewModelRepository interface in MongoDb
- Domain Driven Design with Web API extensions part 16: testing the MongoDb repository in the DDD application
Externalising object dependencies
- Externalising dependencies with Dependency Injection in .NET part 1: setup
- Externalising dependencies with Dependency Injection in .NET part 2: caching
- Externalising dependencies with Dependency Injection in .NET part 3: configuration
- Externalising dependencies with Dependency Injection in .NET part 4: logging part 1
- Externalising dependencies with Dependency Injection in .NET part 5: logging with log4net
- Externalising dependencies with Dependency Injection in .NET part 6: file system
- Externalising dependencies with Dependency Injection in .NET part 7: emailing
- Externalising dependencies with Dependency Injection in .NET part 8: symmetric cryptography
- Externalising dependencies with Dependency Injection in .NET part 9: asymmetric cryptography
- Externalising dependencies with Dependency Injection in .NET part 10: hashing and digital signatures
Service Oriented Architecture
- A model SOA application in .NET Part 1: the fundamentals
- A model SOA application in .NET Part 2: the domain
- A model SOA application in .NET Part 3: the repository
- A model SOA application in .NET Part 4: the service layer part 1
- A model SOA application in .NET Part 5: the service layer continued
- A model SOA application in .NET Part 6: the client proxy
- A model SOA application in .NET Part 7: testing the client proxy
Using a Windows service
- Using a Windows service in your .NET project part 1: foundations
- Using a Windows service in your .NET project part 2: the domain and repository
- Using a Windows service in your .NET project part 3: the application service layer
- Using a Windows service in your .NET project part 4: the consumer layer
- Using a Windows service in your .NET project part 5: the Windows Service project basics
- Using a Windows service in your .NET project part 6: Windows Service installation
- Using a Windows service in your .NET project part 7: Windows Service body part 1
- Using a Windows service in your .NET project part 8: Windows Service body part 2
Various
- Various topics from software architecture part 1: the RequestResponse messaging pattern
- Various topics from software architecture part 2: the Repository pattern
- Various topics from software architecture part 3: the unit of work
- Various topics from software architecture part 4: the unit of work continued
- Various topics from software architecture part 5: aggregate roots
IIS