【发布时间】:2010-12-04 16:48:05
【问题描述】:
使用 C#、asp.net 3.5、SqlServer 2005,
尝试将一些控制反转与 3 层架构结合到我当前的任务中。
不知道这是一个好主意还是一个非常愚蠢的主意:
我创建了一个用户界面层、一个业务层和一个数据层。
UI 收集 4 个值,News 是一个业务层类的实例(称为 c),并使用 4 个值对其进行初始化。
UI 然后调用业务层类的该实例的方法来保存数据。
业务层类方法创建tsql字符串如
String.Format(@"insert into table1 (col1, 'col2', 'col3', col4) values ({0}, {1}, {2}, {3}); select @@identity", c.one, c.date1, c.date2, c.four) ;
并将字符串传递给数据层中类的 int 方法。
数据层使用字符串作为 ExecuteScalar 的 CommandText,并将@@identity 返回给业务层。
我会使用相同概念的变体通过数据读取器检索数据。
数据量不会很大,也不会是大容量应用程序。
我过去这样做的方式是将ui中收集的4个值传递给数据层,通过业务层设置sqlparms,将值传递给存储过程等,将它们传递回业务层等
【问题讨论】:
标签: design-patterns architecture inversion-of-control n-tier-architecture