1.单一职责原则(降低耦合度) 单一职责原则要求一个接口或类只有一个原因引起变化,也就是一个接口或类只有一个职责, 它就负责一件事情。 单一职责适用于接口、类,同时也适用于方法,什么意思呢?一个方法尽可能做一件事情,比如一个方法修改用户密码,不要把这个方法放到“修改用户信息”方法中, 这个方法的颗粒度很粗 如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大帮助。 对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了。生搬硬套单一职责原则会引起类的剧增,给维护带来非常多的麻烦, 而且过分的细分类的职责也会人为地制造系统的复杂性,本来一个类可以实现的行为硬要拆成两个类,然后使用聚合或组合的方式再耦合在一起, 这个是人为制造了系统的复杂性,所以原则是死的,人是活的,这句话是非常好的。 对于单一职责原则,我的建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
2.面向对象主要特征(精髓) "面向对象编程的精髓在于将行为绑定在数据上",我想起了小马说的“你老婆叫你看小孩,面向过程会 每隔一定时间查看一下,行为和数据(小孩)是分开的;面向过程会在小孩的手上绑个铃铛,小孩一闹铃铛就响了,继而做出 响应。” 面向过程是通过函数参数和数据产生联系的…… 对象有状态和行为: 1、一个对象有状态,我们用数据来表示一个对象的状态,比如长宽高 2、一个对象有行为,我们可以用一组方法来改变对象的状态,比如add、sub等等 通过将数据和方法捆绑在一起,实现了状态和行为的捆绑,使得数据和方法封装在对象的统一体中,就行为了对象, 这种把数据和方法捆绑起来的行为就是传说中的 封装。 VB6没有继承,Vb.net有,但是都有类。
3.单例模式