大话西游学习笔记

策略模式:策略模式是一种定义一些列算法的方法,从概念上来看,所有的这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合关系——策略模式封装了变化!

策略模式就是用类封装算法的,但在实践中,我们可以发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的规则,就可以考虑使用策略模式处理这种变化的可能性。

单一职责原则:就一个类而言,应该仅有一个引起它变化原因——手机不应该有过多的功能,否则就可能会削弱或则抑制它本身完成其职责的能力

1.改进程序结构可以考虑的问题:不同硬件环境下运行(一个核心驱动,与界面层分离)——界面层、逻辑层分离

软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,其实要去判断是否应该分离出类来,也不难,那就是如果你能后想到多于一个的动机去改变一个类,那么这个类就具有多余一个的职责。在编程时,我们是要在类的职责分离上多思考,做到单一职责,这你的代码才是真正的易维护、易扩展、易复用、灵活多样。

考研求职两不误——开放——封闭原则

这里研究的问题其实就是:怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?

其实员工迟到不是主要的问题,每天保证8小时的工作量是老板最需要的,甚至8小时工作时间也不是主要问题,业绩目标的完成或超额完成才是最重要的指标,于是应该改变管理方式,比如,弹性上班工作制,早到早下班,晚到晚下班,或者没人每月允许三次迟到,迟到之恶当天下班补时间等等,对市场销售人员可能就更加以业绩为标准,工作时间不固定了——这其实就是对工作时间或业绩成效的修改关闭,而对时间制度扩展的开放。

这就需要老板自己很清楚最希望达到的目的是什么,制定的制度才最合理有效。

用古人的理论来说,管理需要中庸之道!

开放——封闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新的需求来,我们增加一些类就完事了,原来的代码能不动则不动。

2.改进程序可以考虑的角度:能否在业务中增加一些类似的功能

“开放——封闭原则”的精神所在:面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

对原则性目标性的问题应该雷打不动的,在不影响原则问题的时候,可以对外开放,这就是对扩展的开放新,对修改关闭的意义。

对痛苦关闭,对快乐开放

第五章:会修电脑不会修收音机?——依赖倒转原则

依赖倒转原则:要针对接口编程,不要对实现编程。

i.             高层模块不应该依赖低层模块。两个都应该依赖抽象。

ii.            抽象不应该依赖细节,细节应该依赖抽象。

CPU、内存,硬盘都是针对接口进行设计的,封装了内部的复杂性,但是要考虑到,如果主板坏了,那么CPU、内存或者硬盘所有部件都没用了这显然就不合理。例如数据库的连接设计是可以更换的。反过来,如果内存坏了,也不应该造成其他部件不能用才对。

——上面的问题的结论就是:不管高层模块还是低层模块,它们都依赖于抽象,具体一点就是接口或者抽象类,只要接口是稳定的,那么任何一个的更改都不用担心其他受到影响,这就使得无论高层模块还是低层模块都可以很容易地被复用,这才是最好的办法。

依赖倒转其实可以说是面向对象设计的标志,用那种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止与抽象类或者接口,那就是面向对象的设计,反之那就是过程化的设计了。

第六章:穿什么有这么重要?——装饰模式

穿着顺序是很讲究的,比如说,先穿外裤再穿内裤,这叫凡人,内裤穿到外裤外面,那就是超人了。

One thought on “大话西游学习笔记”

  1. 穿着顺序是很讲究的,比如说,先穿外裤再穿内裤,这叫
    凡人,内裤穿到外裤外面,那就是超人了。

    哈哈!经典~

Comments are closed.