views:

129

answers:

5

I have a v-large number of hierarchical structures (or DTO's) that are shared across different business logic, application tiers, web service and WCF contracts. I want to refactor all of my code to split the structures into discreet business domain areas.

Two questions:

  1. Are there any tools that can help me do this (given that I want class A, list all of the dependencies)?

  2. Is there a case for duplicating DTO's in different application domains to allow them to evolve independently? The idea of a fixed Canonical Business Model is pure fiction!

+1  A: 

Resharper/CodeRush can help with question# 1. They both have good support for refactoring.

Klinger
+1  A: 

I'll start with NDepend analysis to list dependencies (see this article : Control Component Dependencies to gain cleaner architecture)

And then I'll use Resharper to ease the refactoring.

Good luck.

madgnome
A: 

Structure 101 (not free)(www.structure101.com/) and/or Code Navigator (free) (http://plugins.intellij.net/plugin/?id=3202) might be useful

Jens Schauder
+1  A: 

Regarding number 2: sure, bounded context: http://domaindrivendesign.org/discussion/messageboardarchive/BoundedContext.html check this post to understand it better: http://devlicio.us/blogs/casey/archive/2009/02/11/ddd-bounded-contexts.aspx

For number 1 Resharper :)

eglasius