思考并回答以下问题:
- 为什么要学习设计模式?开发框架的时候会用到设计模式吗?
- 什么是单一职责原则?
- 很多设计模式都是基于开闭原则怎么理解?
- 什么是里氏替换原则?作为返回值,作为参数,产生对象怎么理解?
- 类的组合都是怎么组合?A类作为B类的方法的参数传进返回,然后B类的接口也作为A类的某个方法的参数,两个类及其父类,接口,抽象类互为方法参数传来传去。A类作为B类的属性成员。怎么理解这段话?
- 设计模式分成哪3大类?每类各举一个设计模式的例子。
- 秘诀是不断地进行类重构,封装新类再组合怎么理解?
- 开发底层类的首要原则是上线后不能再修改这个类的代码怎么理解?
- 汽车与汽车的引擎违反了依赖倒置怎么理解?位于高层的个人计算机中定义了USB接口符合这条原则怎么理解?
- 在具体实现上,这个接口可能是以一个类的变量或对象引用来表示的,怎么理解?
- 接口隔离原则怎么理解?如何实现?
- 增加这个类被不同项目共享的可能性要怎么做?
- 在闹钟的类定义中,声明一个类型为时钟类的“类成员”,那么就可以减少不必要的方法出现在闹钟接口上,这是少用继承多用组合原则,怎么理解?