一,先说六大原则:
1,单一职责原则:就是一个类就做一件事,它有单一的职责,比如,activity就让它显示view,不管那些网络请求、适配器啥的。该原则注重职责,主要针对实现和细节。
2,开放封闭原则:类、模块、函数是可以拓展的,但不能修改。这样代码比较稳定,比如不能碰到啥事儿就去修改基类,使用这个基类的可能不止这一个子类啊。
3,里式替换原则:子类可以扩展父类功能,但不能改变父类原有功能。搬砖时最好用基类类型定义,然后运行时确定子类。
4,依赖倒置原则:核心是面向接口编程。高层模块(调用端)不应依赖于低层模块(封装的代码),二者均应依赖抽象(接口或抽象类);抽象不应依赖于细节(具体的实现类),细节应该依赖于抽象。使用抽象的作用是指定好规范和契约,不涉及具体操作,至于怎么实现就交给他们的实现类。优点是可以降低类之间的耦合性,提高系统的稳定性,降低修改程序造成的风险。
5,迪米特原则:也可以说最少知识原则。一个对象要尽可能的对其他对象有更少的了解,可以说是尽可能的低耦合。偶尔度越低,代码复用率越高。就是不管你这个类实现了多么复杂的功能,你的逻辑多么多,你只对外开放public方法,其他细节不开放。
6,接口隔离原则:就是说使用多个隔离的接口,而不是只使用一个接口。为各个类建立他专用的接口,这样接口定义的方法都是子类需要的方法。该原则注重的是对接口依赖的隔离,是针对抽象和程序整体框架说的。
二,设计模式分类
1,创建型:
单例模式:一个类就只有一个实例,这样可以实现资源的复用
工厂模式:实现对象的创建和对象的使用分离,将对象的创建交给专门的工厂类负责。
抽象工厂模式:将产品类别抽象出来,解决了工厂模式产品类别较多的问题。
建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
原型模式
2,结构型:
适配器模式
装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。
代理模式
外观模式
桥接模式
组合模式
享元模式
3,行为型:
策略模式
模板方法模式
观察者模式
责任链模式
迭代器模式
命令模式
备忘录模式
状态模式
访问者模式
中介模式
解释器模式