Arch# is an architectural Framework that helps you introduce efficient multi layered architecture in a .Net 4.0 application.
Arch# uses a lot of modern’s Frameworks and patterns like AOP, Dynamic Proxies, IoC and give you the possibility to create applications rapidly.
Arch# is not just a framework but also a vision of applications architecture presented in some proofs of concepts.Arch# principles:
- AOP, IoC, DI, DDD, ORM, DRY, Rich Domain Model …
- You should not have multiple object models because of technical reasons.
- Your business code and rules should be written once at one place and can be use anywhere in your application.
- Simple application's redundant tasks should be managed by the framework
- … But all these simples’ tasks should be easily extended if needed.
- Simple entities shouldn’t need specifics layer classes…
- … But they shouldn’t bypass the layers...
- ... And specific layer classes can be added easily
Arch# has two dependencies: .Net 4.0 and Microsoft Unity 2.0 any other framework can be integrated as a plug-in.Roadmap:Notes:
The development of v1.0 is currently suspended. I am wainting for the RIAServices SP1 to finalize this release.v1.0 final planned complete samples
- Add doc and tutorials
- Test in more real applicationsv1.0 preview planned complete samples
- Add multiples samplesChange log:v0.8 current release : Ria Services & nuget
- External Metadata for ria services
- Moving references to nuget
- Integrate ServiceLocator
- Ria services sample
- Mvc 3 samplev0.7 : EF4.1 & RIA Services
- Add RIA Services Domain Services extensions
- Add Entity Framework 4.1 Repository
- Correct bugs on samplesv0.6 : Upgrade the service client capabilities, integrate RIAServices, big refactorings
- Interception refactoring
- Validation refactoring
- Separate framework from samples
- Use T4toolbox
- Security interception
- Code issues refactoring
- DI refactoring
- Client service architecture
- Reorganize and refactor the Arch.Ria to Arch.Client
- RIA Serivices Integration and samplev0.5 : Add AOP/validation/services capabilities
- AOP Business behaviors
- Validation in interception
- WCF unity integration
- Exception to fault auto contract / convertion
- Silverlight Fault enabled extentionsv0.4 : New interception with Unity.Interception (Dynamic Proxy)
- Reorganize solution folders
- Refactor interception using Unity.Interception
- Fix Inheritance in EF v4 repository
- Fix Aspect / Proxy interception issue
- Create Value type (DDD ValueObject implementation for complex domain types)
- Open the layer's auto registration to other layers than Repositoryv0.3: Proof of concept that use v0.2, tutorials and fixes
- A proof of concept with Silverlight
- Some fixes
- Tutorial on an MVC applicationv0.2: Auto management of 3 Objects Models (Entity/DTO/UI Model) in ntier application. (Very cool feature!)
- EF v4 Services (manage attach/update/ ...)
- Proxy resolver
- Proxy RIA generators
- Graph mapper
- WCF behaviorsv0.1: Framework Fundamentals
- IoC encapsulation and automation
- AOP Business with Entity aspects
- Rich generic repository
- Entity class
- API interfaces
- Entity Framework 4 provider
- Reflection Tools
- Web integration
- A proof of concept with Asp.Net MVCPlanned (future)
- Tutorials and some documentation
- NHibernate provider (wait the 3.0 version)
- Norm (MongoDB) provider (wait the 1.0 version)
- Services providers (cache, resources, trace …)
- Some EF4 provider optimizations (dynamic manipulations that can be done once, service update use reflection...)
- Better execution of interception aspects (Emit? DynamicMethod ? Ideas are welcome)
- Data strategy
- High speed reflection
Arch# is distributed under license MS-PL.
I would be charmed to have some feedback or comments on my Framework.
You can contact me if you have questions.
Thank you for your interest.