软件设计的误区

你让那些程序员去搞一个设计,很有能他会给你拿一个E-R图来,或者类似的东西,总之,他的图里包含了很多属性、数据,也不知道要实现什么功能。这就是典型的“一叶障目”。
设计一个“森林”的时候,其中某一篇叶子该怎么样,是不需要你去关心的。

另外,每次划分一个类时,应该从外部使用者的角度去看待你要设计的类,外部使用者关心什么的功能(方法),这个类的属性还是其次的东西。一般来说,类的属性是,实现这个类的编程人员,为了编码的方便而选用的变量。

例如,橡皮擦,在建模时,很多人可能可能会说:

                                ------------------
                               |              橡皮擦               |
                                ------------------
                               |              橡皮                   |
                                ------------------
                               |               擦( )                  |
                                ------------------
的确,实际是这样,橡皮擦是应该包含属性:橡皮。
但是,对于使用者来说,是橡皮作的,还是塑料作的,有关系吗?
我儿子就用,胶带沾,不用有橡胶属性的东西。
所以,从外部使用者来看,橡皮擦就是
                                ------------------
                               |              橡皮擦               |
                                ------------------
                               |                                         |
                                ------------------
                               |               擦( )                  |
                                ------------------
也许需要一个属性,那不是你,作为一个设计者应该关心的事情
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值