OO的一些思考

今天刘san给我们做了一个技术交流,解决了很多一直来困扰着我的关于OO开发的相关问题:

1.在需求分析的阶段,用usecase图的时候,对usecase的记述是否要描述系统相关的动作,因为经常的书籍上是说“usecase是描述的系统和用户之间的交互关系”从这个层面上来说,应该是只要描述系统的输入和输出就好了,但是今天的结论是:描述usecase的时候应该要描述一下系统的一些动作,这个叫白盒usecase,另一种只描述输入输出的叫做黑盒usecase但是黑盒要配合系统时序图来说明需求,然后有人问了,我们做需求分析的时候不是说不能进行how的考虑吗?你的这个系统的一些动作就是how的考虑了吧,其实这里的系统动作,不是一个how的考虑,只是考虑系统的业务逻辑相关。

2。如何判断一个模型的架构是否合理是否正确:一般来说是要符合cohesion,低耦合的标准,高的内聚主要是体现在一个类或者模块的职责是否过多,职责是否是处于不同领域的东西,比如对于数据库的操作,和对UI的操作放到一个类中去了,这样的话,就违背了高内聚的原则,低耦合的,类之间的耦合关系从小到大是这样的:第一是B类是A类的属性,第二,B类中的方法使用到了A类(作为参数或者返回值)第三B类间接的是A类的父类。

3。如何进行类的职责分担,在进行类的职责分担的时候,一般先采用infomation expert的方式,如果有一个职责要进行分担,就去问解决这个问题所需要信息的保存者信息专家,如果专家认为职责过去庞大,就会产生一个新类来分担上述的职责。通过这种方式就能比较容易的避免只有方法没有属性的类的出现,在生成新类的时候,如果没有进行一个好的考虑也会产生不好结果,因为有可能很多的职责都放到一个新类中去了,这样应该做一个控制类,让控制类来决定是否要调用那一个类来完成所需要的职责。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值