C#业务逻辑,业务对象,DataAccess,项目

时间:2010-11-06 00:20:15

标签: c# sql

我目前正在寻找一个包含5个项目的解决方案。如下所示:BusinessLogic,BusinessObjects,DataAccess和ActualProject Name。我想知道每个人究竟会做些什么?

Businesslogic:其中有一个名为business manager的文件夹。这里有一些方法看起来可能会检查业务规则吗?

BusinessObjects:有两个类,它们都只有一堆公共变量{get;在他们之后,在那些类别中没有别的东西。

DataAccess:包含3个类。 1位于名为DataManagers的文件夹下,1位于名为QueryManagers的文件夹下。

ActualProject:看起来它只包含实际的应用程序逻辑和app.config文件。

任何有关这些的见解都将受到赞赏!!!

由于

3 个答案:

答案 0 :(得分:5)

听起来很正常。

<强> BusinessLogic 与域有关的业务逻辑。例如:“确保订单以价格提交”等。维护业务逻辑的中心位置,非常常见(和推荐)。

Business Objects 简单,POCO(普通的旧CLR对象)来表示域模型。没有逻辑,只有轻量级存储。

数据访问 处理域对象对基础数据存储(即SQL Server,Oracle,XML)的持久性。对行为域对象没有任何假设,只是它的工作是检索/持久化它们。

<强> ActualProject UI - 通常是Web应用程序,控制台,WPF等。用于其他项目的表示层。

这遵循Microsoft最佳实践(分离关注点):业务数据演示文稿

通常涉及其他层,但这些是核心三层。

答案 1 :(得分:2)

您似乎正在寻找原则上允许您解耦演示/业务逻辑/数据库(即三层应用程序架构)的解决方案。

如果是这样,您需要应用程序服务器来帮助您轻松地解耦,开发和维护您的业务逻辑。这取决于你的平台发展。

对于Java平台,有许多开源服务器,如glassfish或tomcat(google)。您可以创建代表自定义业务逻辑的Web服务,也可以使用持久性。

对于基于.NET(C#,VB.NET等)的解决方案,您需要TNAPS .NET Application Server之类的东西(检查http://technovation.ru/tnaps)它提供了您需要的所有概念 - 业务对象,数据访问,用户管理,安全。

Ruby / JavaScript世界中也有很多东西(node.js / rails等)。一切都取决于您的解决方案的需求。如果它是面向企业的业务解决方案 - 比标准的.NET方法更好。此外,您可以随时将此逻辑公开到Web(saas)中。

最后,碰巧注意到您正在使用c#作为问题标签,因此请查看TNAPS或其他c#应用程序服务器(尽管那里没有很多)。

答案 2 :(得分:0)

业务规则,业务实体,存储和演示。

您可能还需要查看this文章和this one