2010-07-28 61 views
2

我想知道设计一个简单的CRUD应用程序的一些屏幕更新各种表格(如维护应用程序的静态数据的管理页面)的最佳做法。最简单的方法是拖动数据网格/网格视图,将其绑定到数据集并使用数据适配器进行CRUD操作。但是如果此应用程序需要可扩展性,可以说未来添加任何额外的UI /业务逻辑,那么是否有任何设计模式可以帮助实现这一点?我应该使用对象数据源控件并将其绑定到业务对象吗?或者有没有更好的方法来做到这一点?我应该建立一个完整的分层应用程序,还是将这个要求过度工程? UI设计的任何示例也会有所帮助。谢谢。一个简单的CRUD数据驱动的应用程序的设计模式

+2

我们没有你的需求,用例,可扩展性预测等想法,所以任何答案会是纯粹的猜测。 – Oded 2010-07-28 13:12:16

回答

1

如果你正在寻找一个非常快速和简单的方法,你可以看看在LINQ2SQL或EF4后端的顶部使用动态数据 http://www.asp.net/dynamicdata - 几乎所有所需的任何代码。

+0

虽然我以前没有用过,但我知道这一点,但在看了这个建议后,我会试一试。谢谢。 – RKP 2010-07-29 10:32:31

0

http://www.asp.net/mvc是我的赌注。开始并且开始很容易...你不会失望。 :) StackOverflow本身就建立在它之上。

1

+1 Oded。 RKP没有违法,但你可能会将“简单”与“有效”或“物有所值”混淆。我也认为你可能想更清楚你究竟是什么样的人:例如UI设计与逻辑体系结构是完全不同的问题。无论如何 - 对你的要求很高。

如果这是一个“战术性”解决方案:预期寿命不长,或者是一个快速而脏的开发工具,那么如何构建它可能不是一个大问题。 (也要注意,短期战术应用程序可能最终成为长期战略应用程序)正在开发一款应用程序,现在该应用程序被视为一种“时间”工具:他们认为它仅用于未来5 - 10年(!))。

如果它是一个“商业用户”将使用的工具,那么他们很可能会预期更改超时:取决于应用程序的用途,简单的传递CRUD应用程序可能只会在短时间内切断芥末。

所以我想这就是您最佳实践的最佳愿望。 您是否熟悉OO设计?良好的OO设计背后的许多原则也适用于架构层面(SOLID,Common Reuse,Common Closure,Loose Coupling,Stable DependanciesStable Abstraction原则)。

让说,添加任何额外的UI /业务 逻辑在未来

所以 - 这是你需要考虑的前期,你将如何单独的担忧,并允许增长:建筑没有按”代表你必须做一个大的前期设计,它只是意味着你需要有作为需求的增长,你会如何成长的应用程序的想法..

要完成:

  • 仔细查看不同的系统质量属性并确定哪些与系统特别相关。优先考虑它们。
  • 我从Dependency Inversion(SOLID中的D)中获得了很多里程 - 尽早抽象出诸如数据访问之类的东西。
  • 对我来说,其他的真钥匙“最佳实践”是要注意SRP(在S固体),
+0

我只是要求一个典型的数据驱动应用程序的标准设计模式,它可能会或可能不会在将来增长。截至目前,我还没有意识到他们想添加的逻辑。但业务总是在变化,所以我想要保持这个选项的开放,而不要采取一种快速和肮脏的方法。无论如何,谢谢你的回答。 – RKP 2010-07-29 10:09:47