- 博客(8)
- 收藏
- 关注
原创 软构——可维护性的设计模式和构造技术
在掌握了这些设计方法后,我们对于可维护性才算是入门,然而纸上得来终觉浅,其实学习下来,第一感觉就是很有道理,但是有种鸡肋的感觉,因为我们平时自己的编程项目基本用不到这些思维和方法,但是仔细想想,联系我们日常生活中所用的一个个软件,其实都是需要这些东西的,就比如说google公司的码库,不就是可复用性的一大体现吗?创建的不是一个完整产品,而是“产品族”(遵循固定搭配规则的多类产品的实例),得到的结果是:多个不同产品的object,各产品创建过程对client可见,但“搭配”不能改变。
2023-05-26 21:48:28
178
1
原创 软构——可维护性
举例:假设我养了狗,我有一个喂养狗feed()方法,后养了猫,我们不应该单独加一个cat.feed(),而是抽象一个pet类,我们只需要完成喂养宠物pet.feed()即可,这样就可以对狗和猫以及其他宠物的功能拓展,而没有修改我们作为主人的pet.feed()方法代码,这是OCP的一个例子。:只提供必需的接口,不强迫用户依赖他们不需要的接口。:子类型能够替换基类型,并且满足对输入,输出,异常等的要求(前面提过)前置更弱,后置更强,要能通过父类的测试用例,不能产生预期之外的结果。可维护性的常见度量指标。
2023-05-26 21:23:17
180
1
原创 软构——可复用性
由于已知哪些是共性的哪些是差异性的,所以可知已知代码内容,所以是白盒(就如同不同的交通方式交通前往异地,统一的有:买票,等候,上车/机,行驶,到站下车/机,步骤相同,但具体实现方式不同)可复用性是很具有经济价值的一种思想,但不是所有的可复用都省钱,利用已经完成的可复用方法、框架、软件是节省成本的,但是如果目的是开发一套可复用的框架,那成本反而会增加很多。而在这个例子中,不变量是不可以比较的,没有强弱之说,是不符合LSP的要求的,所以这个正方形不是矩形的行为子类型吗。
2023-05-26 19:43:32
443
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人