代码改变世界

OO Design 面向对象设计

2009-12-17 11:15  Virus-BeautyCode  阅读(1199)  评论(0编辑  收藏  举报

 

  1、Application Requirements

  获取应用的需求。方式比较多,可以到客户场地亲身体验,可以通过调查问卷,可以找业务的相关人员了解,可以请客户帮忙收集一些,可以请客户座谈,等等。如果可以亲身体验客户的工作流程,个人认为是最好不过的了,

  2、Use Case

  将需求分解成一个一个的用例,用例以职责单一为指导原则,一个用例也就是一个功能,实现一个功能即可,这样将来一号进行工作的分配,

  3、Object Design

  使用CRC Class Responsbility Collaborator,类职责卡的方式来设计对象。

  首先可以从用例中分解出名词,罗列所有的用例名词,列出来这些名词,这些可都是潜在的对象。

  当然了,他们也不全是对象,有的可能是用户角色,也有的就是对象的一些字段,剩下的就可以抽象出对象了。

  最好将可编辑和只读对象、单个对象和集合对象却分开来,就算他们是同一个类型的对象,这样有利于控制权限以及提高可扩展性和维护性。

  然后根据这些CRC画出类关系图

  4、Revising the Desin

  修订前面的设计,可以通过迭代的方式,或者原型的方式,反复沿着设计,以求达到较优的状态。这个阶段可能会撤销合并一些对象,也可能会增加一些对象。

 

  上面只是粗略的提了一些意见,不成熟的地方还请大家多指教了。

  谢谢!!