Tag Archives: C# Separation of Concern

C# – First Pass at the Separation of Concern Principle

Separate concers at the mitigate the impact of change on a software system.

Common “concerns”:

  • Presentation logic
  • Business / Domain logic
  • Persistence logic

Recommendation: Seperate concerns into projects within a given solution.

Naming convention:

MyApplication(Solution name)

  • MyApplication.Presentation(.Web, etc. presentation project)
  • MyApplication.Domain(domain/business rules project)
  • MyApplication.Persistence(.Data, .DB persistence project)