Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我需要业务对象吗?_C#_Asp.net - Fatal编程技术网

C# 我需要业务对象吗?

C# 我需要业务对象吗?,c#,asp.net,C#,Asp.net,我正在学习使用C#和ASP.NET与SQL Server数据库编程。我开发了一个系统来存储和查看金融市场上的交易。基本功能是: 添加/更新/删除订单 添加/更新/删除交易(交易包含一个或多个订单) 查看交易 查看订单 还有其他实体,如经纪人、账户、战略等,支持主要订单和交易实体 我已经设计了一个名为DBUtil的数据库实用程序类,它具有数据库的所有接口。例如,要添加新交易,我会调用DBUtil.InsertTrade(),要添加订单DBUtil.InsertOrder(),要更新交易,DBU

我正在学习使用C#和ASP.NET与SQL Server数据库编程。我开发了一个系统来存储和查看金融市场上的交易。基本功能是:

  • 添加/更新/删除订单
  • 添加/更新/删除交易(交易包含一个或多个订单)
  • 查看交易
  • 查看订单
还有其他实体,如经纪人、账户、战略等,支持主要订单和交易实体

我已经设计了一个名为
DBUtil
的数据库实用程序类,它具有数据库的所有接口。例如,要添加新交易,我会调用
DBUtil.InsertTrade()
,要添加订单
DBUtil.InsertOrder()
,要更新交易,
DBUtil.UpdateTrade()
,等等。我想知道是否最好创建一个交易类、一个订单类、一个经纪人类等等。这会提高优雅度吗,程序的质量和可维护性?似乎添加了很多代码却没有任何好处,好吧,我现在看不到采取这种方法的好处


据我所知,添加一个
Trade
类只会创建一个额外的代码层,因为在添加交易时,我无论如何都必须从Trade类调用
DBUtil.InsertTrade()

是的,这将提高代码的可维护性,因为您的业务对象将是强类型的。除此之外,您还可以创建一个测试场景,而不必使用业务对象的模型连接到真实的数据库。缺点之一是当然需要编写更多的代码,但这将有助于将来扩展应用程序

通常,如果您使用Linq2Sql或EF,VS可以为您创建这些类

编辑:
另请参见此问题

它实际上取决于应用程序的发展方向以及维护者

如果你现在对它感到满意,那么为什么要改变它呢

我建议您仔细阅读软件开发模式,在听起来您正在使用活动记录模式的那一刻,这是可以的:

您正在考虑的是转向领域驱动的设计解决方案


是的,域对象将在这种情况下使用。

谢谢,那么对于
Trade
对象,我有哪些公共和私有方法?我想我会写一些类似于
Trade t=newtrade(字符串市场等)
?然后做一些
t.Save()
保存到DB?好的,另一个快速的问题,如果我想返回按某些条件过滤的所有交易怎么办。我必须做
Trade t=new Trade();t、 GetTrades()?还是有更好更干净的方法?语义感觉不对。