- Modern Programming: Object Oriented Programming and Best Practices
- Graham Lee
- 277字
- 2021-05-21 22:06:00
The Design of Independent Objects
It is appropriate to digress into a discussion of design here, because the activities of testing and design are closely related. Eric Evans’s book Domain-Driven Design discusses a form of what was previously called object-oriented analysis: finding the objects needed to solve a problem by interpreting a description of the problem. The process is straightforward. Take a description of the problem, and the things that do things are objects, the things they do are methods, and the things they tell or ask other things are messages. Evans proposes having a single “ubiquitous” language across the whole development team, so that the words used by the person who has the problem – the Goal Donor—http://wiki.c2.com/?GoalDonor are the same words as those used by the people building the solution. Borrowing an idea from Christopher Alexander, it is the ubiquitous language of the problem and solution domain in which one would expect to find a pattern language, as common aspects of problems become addressed in similar ways.
Behavior-Driven Development marries the technical process of Test-Driven Development with the design concept of the ubiquitous language by encouraging developers to collaborate with the rest of their team on defining statements of desired behavior in the ubiquitous language and using those to drive the design and implementation of the objects in the solution domain. In that way, the statement of what the Goal Donor needs is also the statement of sufficiency and correctness – that is, the description of the problem that needs solving is also the description of a working solution. This ends up looking tautological enough not to be surprising.
- 數據存儲架構與技術
- 數據可視化:從小白到數據工程師的成長之路
- MySQL從入門到精通(第3版)
- Oracle高性能自動化運維
- Ceph源碼分析
- 軟件成本度量國家標準實施指南:理論、方法與實踐
- OracleDBA實戰攻略:運維管理、診斷優化、高可用與最佳實踐
- 數據庫技術及應用教程
- 深入淺出 Hyperscan:高性能正則表達式算法原理與設計
- 計算機應用基礎教程上機指導與習題集(微課版)
- 大數據治理與安全:從理論到開源實踐
- 淘寶、天貓電商數據分析與挖掘實戰(第2版)
- 貫通SQL Server 2008數據庫系統開發
- Mastering ROS for Robotics Programming(Second Edition)
- Spring MVC Beginner’s Guide