|
|
1
6
如果您在编写测试方面没有什么经验,那么从域模型(或者UI下面的更高级别)开始是最容易的。当您使用TDD驱动了域模型的设计之后,您将知道数据库模式需要是什么样的。推迟向系统引入数据库可能会比较好,因为处理数据库模式迁移会给开发增加一些开销。这也将导致更好的设计,因为这样域模型将更好地与数据库层分离。 如果您擅长编写测试和TDD,那么从端到端测试开始(在本例中,它们将针对Web UI编写)并生成一个涉及系统所有体系结构部分的功能薄片(如 GOOS )换句话说,创建一个 walking skeleton . 这种方法的好处是:(1)您将能够在一开始就解决集成问题;(2)当端到端测试用于驱动设计时,它可以帮助您避免实现多余的部分;(3)编写端到端测试的困难迫使您改进体系结构并添加mon监视钩,也可能在生产中监视系统时有用。(仍然需要集中的单元测试,因为它们在类级别提供设计压力,再加上它们运行得更快,从而提供更快的反馈。) 关于后一种方法,我在 Design for Integrability . |
|
|
2
2
需求收集。 |
|
|
3
2
从应用程序的模拟/原型(例如balsamiq mocks)开始,然后编写视图,一边模拟控制器,然后编写控制器逻辑,一边模拟DAO/库。当您开始编写DAO/存储库时,您将对所需的域对象有一个很好的了解。去掉这些,使用FluentNHibernate构建数据库。 至少我是这么做的。 |
|
4
1
我推荐你 S#arp Architecture 使用最佳实践组合的项目:
您也可以安装S arp arch。Visual Studio IDE模板。 |