我们有一个简单的工具类在内,为我们调用数据库(光包围ADO.NET的),但是我想创建类的每个数据库/目的。会是明智的这样做,或将它仅受益,如果我们使用全视框架ASP.NET?

所以我们有这样的:

SQLWrapper.GetRecordset(connstr-alias, sql-statement, parameters);
SQLWrapper.GetDataset(connstr-alias, sql-statement, parameters);
SQLWrapper.Execute(connstr-alias, sql-statement, parameters);

想这样做:

Person p = Person.get(id);
p.fname = "jon";
p.lname = "smith";
p.Save();

或者一个新的纪录

Person p = new Person();
p.fname = "Jon";
p.lname = "Smith";
p.Save();
p.Delete();

这将是明智的,或者会被矫枉过正的?我可以看到的利益为重复使用,改变数据库和维修费/可读性。

有帮助吗?

解决方案

这个问题是装载、数据驱动的设计vs域驱动的设计。对于任何应用程序,有大量的行为,那么域驱动的设计应该是优选的。报告所述,或者用新的应用程序往往更好地工作(或者是更快发展)的数据驱动的设计。

什么你要问的是"应我公司做一个根本性转变,如何,我们设计我们的代码"。作为一个域的怪胎,我的直觉反应是尖叫 是的.但是,通过简单性质的问题,我不知道你完全理解的范围改变你的建议。我觉得你应该多说话给你的团队关于它。

得到一些文献中,例如 Evan的DDD 书,或 免费基础的电子书, 然后你就能更好地判断哪个方向,你应该去。

其他提示

不是视的唯一的设计图案的网,但这是一个有用的一个。

采取的只是"M"将支付股息,在我看来,甚至如果你不能赢得不采用"V"或'C'。

该办法的讨论被认为是一个很好的一个由多民族,包括我!学习这种方法将需要一些努力,但不要让这把你关掉!

什么只是想一个 小的项目与皇宫SQL?也许找一个 很好的参考项目谷歌的代码, 和学习他人如何有工作。

这是一个简单的工具,并将让你成为熟悉的一些问题拿出对象映射数据库。

然后,你将能够 去感受它, ,并决定它是否值得学习曲线。

会有新的概念的掌握 和实验之类的东西:

  • 单元的工作:当你执行保存和删除等,一个奥姆往往不能立即这样做,而记录集中于达尔会。这可奇怪的所以你需要学习一些有关。读了 工作单元模式 要了解这一点。
  • 散行动 是一个问题或/M。数据读者可以有效地循环,通过成千上万的排,但有一个奥姆你必须要小心在工作时与大批的对象。再一次,一个阅读。
  • 协会 似乎伟大的时候可以做这样的东西 customer.Orders.Count 但他们也是造成许多问题。你需要找一些安全措施时要遵循的工作,与协会。

...其中的几个。

对于初学者来说,别担心,关于继承的东西,刚刚开始简单和简单的实体的地图,以表。

尝试使用他们以同样的方式使用现有的DAL。然后开始尝试与协会。

然后也许是尝试把更多的行为在你的实体。如果你开始喜欢这个,觉得你需要更多的功能,考虑在试用一个多功能丰富的对象喜欢 光速它能够.

希望这可以帮助!

我看起来你正在尝试做什么皇宫已经可以为你做的。如果你困在一个旧的框架,在这你不能用那个,我能建议你使用Subconic(http://subsonicproject.com/),而不必手动创建这些模型对象。

我有一个项目,我是在一个类似的困境和改变速过半梦幻般的结果。更快的发展和更易于读取的/使用的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top