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