什么是域逻辑?域逻辑的Wikipedia页面重定向到业务逻辑.它们是同一个东西,如果不是,它们有什么不同?
我正在尝试根据最佳实践构建我的WPF MVVM应用程序.我必须从很多现有代码开始,所以没有选择立即解决所有结构缺陷.我喜欢以下解决方案结构.
这将解决方案分为以下项目; BusinessLogic,BusinessObjects,基础结构(通用可重用实用程序),WPF Shell和模块(使用IOC容器注入的应用程序组件).
我理解业务对象代表人类世界实体,而业务逻辑是本问题中讨论的实现细节.
什么是Business Objects,什么是Business Logic?
因此,使用MVVM会使业务对象变成一个愚蠢的容器,除了等待外部业务逻辑更改其属性之外,它实际上什么都不做?我没有看到你如何将业务对象与业务逻辑分离到能够将它们放在单独的程序集中.
采用以下极其简化的代码:
public class Chart
{
private SizeChart _activeChartSize = new SizeChart();
public void Draw() {
// Size the chart object
_activeChartSize.Size(this);
// Do other draw related things
}
}
public class SizeChart
{
public void Size(Chart chartToSize) {
// Manipulate the chart object size
}
}
Run Code Online (Sandbox Code Playgroud)
在上面描述的MVVM解决方案结构的上下文中(至少在我看来),SizeChart类是业务逻辑,Chart类是业务对象,但将它们放在不同的项目中将是循环依赖.如果我采用这个提议的MVVM解决方案结构,那么SizeChart类是业务逻辑还是业务对象以及SizeChart类所在的解决方案结构中的位置?
如果这对某些人来说是一个非常明显和简单的问题,那就很难道了,但是如果你不能从一个干净的平台开始知道如何最好地开始将结构不良的代码转换为结构良好的代码,那就太难了.