我正在做一个关于“域驱动设计”主题的研究。我的问题是您使用什么工具(或可能的环境),支持这种范式?
我知道我可以google它,但我不知道其中哪些实际工作和有用的,因为我没有任何经验。我主要在.NET Framework中感兴趣,但也欢迎任何其他意见!
谢谢 !
DDD不限于具体技术或“支持框架”。更重要的是开发好的软件的过程,其核心在于面向对象建模。因此,支持OOP的每个语言和环境适合于DDD。
尽管如此,工具可以在构建您的域基础设施方面发挥支持作用。
>肯定你会找到一个
对象关系映射器(如
(N)Hibernate)非常有帮助
实现您的数据访问。它们通常围绕存储库和规范模式的思想构建。
>反转控制将帮助您实现基于低耦合的Supple Design,在不断发展的领域模型方面保持灵活性。一些环境需要依赖注入框架(Spring,Castle)来充分利用DI,而其他环境不支持混合(例如Objective-C)
>业务规则引擎和域特定语言将帮助您实现复杂的业务流程。一些环境为他们提供了广泛的支持(尤其是Java和.NET),其他环境也没有。
由于DDD对于建模和OOP非常关注,因此对SOLID principles(再次,平台不可知论)的了解将有助于您。尽管如此,还有一些框架提供了DDD基础架构(Rhino Commons,Proteus,Sharp Architecture,简称为.net项目)的坚果。