Skip to content
saiku edited this page Dec 15, 2010 · 21 revisions

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.

Integrated libraries

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

Documentation

Arc Application Architecture Guidance

How to

How to install solution template
How to create new solution

Domain and services

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

Data access

How to create Repository
How to find, save and delete entities (Active Record)

Presentation

How to create View and Presenter (MVP)
How to create View and Controller (MVC)

Configuration

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

References

  • [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”