S = 单一责任原则 "一个类有且只有一个职责"。 “如果你可以在一个设备中实现所有的功能,你却不能这样做”。为什么呢?因为从长远来看它增加了很多的可管理性问题。
当然,这个原则是说,如果有多于一个原因会导致你的类改变(或者它的职责多余一个),你就需要根据其职责把这个类拆分为多个类。
嗯...这是不是意味着在一个类里不能有多个方法?
当然不是。你当然可以在一个类中包含多个方法。问题是,他们都是为了一个目的。那么,为什么拆分很重要的?
那是因为:
每个职责都是轴向变化;
如果类包含多个职责,代码会变得耦合;
SPR 就是把东西分到不能再分了,再集中化管理和复用。囔,在方法层面上,咱不也得用 SPR 原则?我是说,咱写的方法里有很多干不同事儿的代码,这也不符合 SPR原则吧。
你说地不差。方法也得分开,一个方法干一个活。这么着你复用方法,要是改了,也不用改太多
O = 开闭原则
L = Liscov替换原则
I = 接口隔离原则
接口只应该包括必要的方法而不是所有的
接口隔离原则确保接口实现自己的职责,且清晰明确,易于理解,具有可复用性。
D = 依赖倒置原则
当然,这个原则是说,如果有多于一个原因会导致你的类改变(或者它的职责多余一个),你就需要根据其职责把这个类拆分为多个类。
嗯...这是不是意味着在一个类里不能有多个方法?
当然不是。你当然可以在一个类中包含多个方法。问题是,他们都是为了一个目的。那么,为什么拆分很重要的?
那是因为:
每个职责都是轴向变化;
如果类包含多个职责,代码会变得耦合;
SPR 就是把东西分到不能再分了,再集中化管理和复用。囔,在方法层面上,咱不也得用 SPR 原则?我是说,咱写的方法里有很多干不同事儿的代码,这也不符合 SPR原则吧。
你说地不差。方法也得分开,一个方法干一个活。这么着你复用方法,要是改了,也不用改太多
O = 开闭原则
L = Liscov替换原则
I = 接口隔离原则
接口只应该包括必要的方法而不是所有的
接口隔离原则确保接口实现自己的职责,且清晰明确,易于理解,具有可复用性。
D = 依赖倒置原则