注意:在分析阶段,我们得出的类是域类,不是现实类。
所谓域类是指和用户业务相关的,用户能够“认得”的类,它存在于用户的领域中,和计算机技术无关。
如:订单,客户,产品。。。
所谓现实类是指在程序实现过程中(或详细设计阶段),程序员在代码中编写的类,通常和计算机平台,编程语言密切相关。
如:在一个三层架构的系统中,“订单”这个域类,在每一层都需要单独的类来现实。这些类就是现实类。
刚接触对象建模的人,很容易犯的一个错误就是,在分析阶段过多的考虑“现实类”,脑子里总想着代码怎么现实这个需求。其实这是不对的,不能让技术需求影响功能需求,对用户来说它们不关心功能需求。
所以在项目分析阶段,应该把焦点专放在分析业务对象上,而不是技术现实上。技术现实可以在详细设计的时候去做。对于一关键算法和技术难题,应该有专人专门去分析,做原型。