Til*_*lak 6 c# architecture wpf tdd wcf
如何将TDD应用于具有分层架构的企业应用程序?
我想知道如何将TDD应用于具有以下功能的应用程序
据我所知,首先是让架构正确.结果,识别出组件.接下来是独立开发组件,我卡住了.
使用TDD,(组件的)设计随着时间的推移而发展.对于下面的组件是(我认为)与TDD一起使用的方式
我面临的问题是,对于组件,直到我到达TDD过程的第6步,我不知道接口.由于有多个组件,多个团队,没有人确定他们会想出什么.
现在基于上述场景的摘要问题
我认为你的顺序错了。您正在选择架构,然后尝试通过 TDD 实现这一目标。TDD 背后的想法是从一无所有开始,并在需要时达到分层架构。
当然,当您查看一个非常大的项目时,这可能没有帮助,因为这一切都必须有一些组织。我通常的方法是尝试将工作划分为对真实的人(而不是程序员)有意义的事情。不,我并不是在谈论完整的领域驱动设计。我指的是像局外人一样思考不同的部分。
例如,如果我想制作一个代表收银机(可以保存金钱和数字总计的东西)的程序。
我想让它做的第一件事是什么?持有并分发金钱。所以,我需要一个抽屉(第一个组件,将其交给团队)。我需要一个按钮来打开它(第二个组件、第二个团队)等...关键是关注它应该做什么,而不是它应该如何做。
是的,有很多合同/协议谈判必须进行。这些是相关团队在解决问题时必须解决的问题。关键是要专注于你想让它做什么。解决现在的问题。不要预先优化。您可能会发现并非所有组件都需要所有层。
对最佳实践问题的简短回答是“视情况而定”。(俗气、常见且过度使用的 IT 答案。)一般规则是您要关注行为,而不是实施。确保您可以信任测试(它们始终产生正确的结果)。确保您进行尽可能多的测试...或者,编号...
抱歉,如果这真的很模糊。谷歌一下我留下的名字,它们是很好的起点。如果您想在 TDD 方面取得优势,请聘请一些经验丰富的程序员并使用结对编程。如果你负担不起,请雇人来做一些培训,然后进行结对编程。不能这样做吗?获取一些书籍并使用结对编程。
然后,击败这对搭档,确保他们先编写测试。
归根结底,就是决定您想要做什么,然后让测试改进架构。反之则不然。
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |