MVVM application architecture, where to put dependency injection configuration class, BusinessLayer and Common interfaces?

Posted by gt.guybrush on Programmers See other posts from Programmers or by gt.guybrush
Published on 2013-09-16T13:06:06Z Indexed on 2013/11/07 4:13 UTC
Read the original article Hit count: 167

Planning my architecture for an MVVM application I come to this:

  • MyApp.UI
    • View
  • MyApp.BusinessLayer
    • ViewModel
  • MyApp.DataAccessLayer
    • RepositoryImplEF
  • MyApp.DomainLayer
    • DomainObject
    • RepositoryInterface
  • MyApp.Common
    • Logging
    • Security
    • Utility (contains some reflection method used by many levels)
    • CustomException
  • MyApp.UnitTest

I was inspired by Domain-driven-desing, test-driven-development and onion architecture but not sure to have done all well.

I am not sure of a couple of things:

  1. where to put dependency injection configuration class? In the common project?
  2. where to put BusinessLayer interfaces? in Domain layer?
  3. where to put Common interfaces? in Domain layer? But Common in referenced from domain (for some reflection utilities and for DI if the response to 1. is yes) and circular reference isn't good

© Programmers or respective owner

Related posts about c#

Related posts about architecture