第一章 介绍 (分析模式 之 概念模型)

        什么是概念模型?这是《分析模式》这本书首先展现给我们的一个问题。作者并没有立即给出答案,而是通过一个斯诺克台球模拟器的例子引出了该话题。

        分析作为软件开发的一个重要阶段发挥着至关重要的作用,它发掘出表面需求下真正需要解决的问题,而不是简单的列出各种Use-cases,而这种问题的本质可以用一种元模型来表示,这种元模型可以使我们容易理解所要解决的问题,同时也能简化这些问题。分析就是要将这些表面需求下的问题展现出来,在这里我们创建概念模型来描述它。

        让我们再回过头来看看斯诺克台球模拟程序的概念模型是什么。“当你用杆击打白球的时候,白球会按照一定的运动线路运行,白秋撞击红球,红球会按照白球撞击的速度、角度、旋转及白球重量而运行。”你可以反复的观察和记录成千上百个样本,测量球的运行速度等参数,但是所有这些都是表面现象,我们需要通过这些测量来得出一个满足所有样本的模型,这就是我们前面提到的概念模型。幸运的是,前人已经给我们提出了两个不同的运动学定律:牛顿定律和爱因斯坦定律。

        那我们到底应该使用哪个模型来设计斯诺克台球模拟器呢?可能很多人都会选择爱因斯坦定律,因为在该模型中,他考虑了物体重量和运动速度的关系,这样,使用该模型可以解决所有和运动相关的问题。但是在实际的应用中大多数人会选择牛顿定律,因为在台球模拟器中我们完全可以忽略重量和运动之间的关系(速度慢)。

        说到这里,让我们记住这样的一个建模准则模型没有正确与错误之分,有的只是在有用性上的多少之分。

        选择什么样的模型会直接影响最终系统的灵活性和可复用性,不是越灵活的模型就是越合适的,灵活性带来了复杂性,就像上面我们提到的爱因斯坦定律一样,它可以满足所有的可能需求,但是在实现上却给我们带来了很大的困难。从工程学角度来说,好的设计是需要在开销、维护及功能上达到平衡。因此,在选择模型上,我们应该找到一个最简单但是最适合你的模型,而不是追求那些基本上用不到的灵活。大家可能都回遇到这样的问题,当你把一个最简单的解决方案摆在别人面前的时候,他们会说:“这是显而易见的,为什么要花这么长时间呢?”千万不要被这样的言语感到挫折,因为简单意味着可维护性和可扩展性,这是在软件开发设计中非常重要的原则。(待续未完...)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值