Home
Arc is framework which abstracts common infrastructure needs and integrates with different libraries. Its project template enforces good structure and practices (e.g. decoupling) for your solution with build scripts and common configuration.
Dependency Injection Containers
- Ninject
- StructureMap
- Castle.Windsor
Data
- NHibernate + Fluent NHibernate
- AutoMapper
Logging
- Log4Net
Validation
- Fluent Validation.NET
- NHibernate.Validator
Presentation
- ASP.NET Forms (MVP pattern)
- ASP.NET MVC
Arc Application Architecture Guidance
How to install solution template
How to create new solution
How to create Entity
How to create Value Object
How to create Data Transfer Object/Data Contract
How to create Domain Service
How to create Specification
How to create Application Service
How to create Repository
How to find, save and delete entities (Active Record)
How to create View and Presenter (MVP)
How to create View and Controller (MVC)
How to configure Service Locator
How to create conventions for Service Locator
How to configure Arc application
How to configure routing (MVC)
How to use Fluent Criteria (NHibernate)
How to use domain DSL
How to use auto mapping (DTO <=> Domain Object)
How to use validation
How to use registries
How to use logging
- [Fowler PoEAA] Martin Fowler “Patterns of Enterprise Application Architecture”
- [Evans DDD] Eric Evans “Domain-Driven Design: Tackling Complexity in the Heart of Software”
- [Martin APPP] Robert C. Martin, Micah Martin “Agile Principles, Patterns, and Practices in C#”
- [GoF DP] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four) “Design Patterns: Elements of Reusable Object-Oriented Software”