xda1212
xda1212
handlerMessage,broadcast,service,contentprovider,intent等方式都是可以的吧。。。
- 单一职责原则 - 开闭原则 - 里式替换原则 - 依赖倒置原则 - 接口隔离原则 - 迪米特原则 ### 单一职责原则(SRP): 单一职责原则的定义是就一个类而言,应该仅有一个引起他变化的原因。也就是说一个类应该只负责一件事情。如果一个类负责了方法M1,方法M2两个不同的事情,当M1方法发生变化的时候,我们需要修改这个类的M1方法,但是这个时候就有可能导致M2方法不能工作。这个不是我们期待的,但是由于这种设计却很有可能发生。所以这个时候,我们需要把M1方法,M2方法单独分离成两个类。让每个类只专心处理自己的方法。 单一职责原则的好处如下: 1. 可以降低类的复杂度,一个类只负责一项职责,这样逻辑也简单很多; 2. 提高类的可读性,和系统的维护性,因为不会有其他奇怪的方法来干扰我们理解这个类的含义; 3. 当发生变化的时候,能将变化的影响降到最小,因为只会在这个类中做出修改。 ### 开闭原则(OCP): 开闭原则和单一职责原则一样,是非常基础而且一般是常识的原则。开闭原则的定义是软件中的对象(类,模块,函数等)应该对于扩展是开放的,但是对于修改是关闭的。当需求发生改变的时候,我们需要对代码进行修改,这个时候我们应该尽量去扩展原来的代码,而不是去修改原来的代码,因为这样可能会引起更多的问题。这个准则和单一职责原则一样,是一个大家都这样去认为但是又没规定具体该如何去做的一种原则。 开闭原则我们可以用一种方式来确保他,我们用抽象去构建框架,用实现扩展细节。这样当发生修改的时候,我们就直接用抽象了派生一个具体类去实现修改。 ### 里氏替换原则(LSP): 里氏替换原则是一个非常有用的一个概念。他的定义:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有对象o1都替换成o2的时候,程序P的行为都没有发生变化,那么类型T2是类型T1的子类型。这样说有点复杂,其实有一个简单的定义——所有引用基类的地方必须能够透明地使用其子类的对象。里氏替换原则通俗的去讲就是:子类可以去扩展父类的功能,但是不能改变父类原有的功能。他包含以下几层意思: -...