单一职责原则
1.代码优化的第一步
2.两个完全不一样的功能不应该放在一个类中。一个类中应该是一组相关性很高的函数、数据的封装。
3.如何划分一个类功能,每个人都有自己的看法,需根据个人经验、具体的业务逻辑而定。
开闭原则
1.软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。
2.遵守开闭原则的重要手段应该是通过抽象接口
3.ImageCache --> MemoryCache、DiskCache、DoubleCache...(setImageCache)
里氏替换原则
1.继承特性
2.封装特性
3.开闭原则和里氏替换原则往往是生死相依、不离不弃的,通过里氏替换原则来达到对扩展开放,对修改关闭的效果。