1:为什么要学习设计模式?
A:让我们对设计模式有一定的了解和理解。
B:加深我们对面向对中的抽象类和接口的理解。
设计模式 -- 面向对象加深
C:搞定设计模式的面试
单例设计模式
工厂模式,适配器,模板方法,代理...
在我们的公开课里,仅仅是为了引导大家学习,因为很多知识还是需要大家自己学习的。
2:什么是设计模式
建筑工地上,工人在盖房子,但是你看不到制造砖的人。
在汽车厂房里,你看到的是组装汽车的人,而不是制造零件的人。
在软件开发中,UI设计师,系统分析师,代码人员。
因此一些专家就把他们在解决某一问题的过程中积累的一些经验进行总结。以帮助后来的人更好地掌握从抽象到具体的方法。
这就是设计模式。
3:设计模式的学习路线
A:面向对象思想的建立
B:UML(统一建模语言)
把我们的思想通过一些符号表示出来,任何软件开发人员都是能够看懂的。
C:了解常见的设计模式
D:学习并使用设计模式
4:面向对象思想的建立
封装 隐藏实现的一些细节,提供一种公共的访问方式。
private来把一些成员变量和成员方法给隐藏起来。
继承 可以具备某些已经存在的功能。
多态 对象在不同时刻体现的不同的状态。
List list = new ArrayList();
list = new LinkedList();
设计思想的区别:
抽象类:是对一组具有相同的属性和方法的在逻辑上有关系的一种抽象。
is a的关系。
接口:对一组具有相同的属性和方法的在逻辑上不相关的事物的一种抽象。
like a的关系。
举例:
人,学生,老师
5:面向对象设计的几个基本的原则
A:单一职责
系统中的每一个对象应该只有一个单独的职责,所有对象关注的应该是自身职责的完成。
基本思想:高内聚,低耦合。
B:开闭原则
一个对象对扩展开放,对修改关闭。
基本思想:对类的改动是通过增加代码进行的,而不是修改现有的代码。
C:里氏替换原则
在任意父类出现的地方,都可以使用子类来替代。
D:依赖注入原则
要依赖于抽象,不要依赖于具体的实现。
基本思想:在开发中尽量的面向接口编程。
E:接口分离原则
不要去使用一些不需要使用的功能。
基本思想:一个接口不要提供太多的行为。
F:迪米特原则
一个对象对其他的对象应该尽可能少的了解。
基本思想:降低耦合。
G:优先使用组合而不是继承原则
基本思想:在复用对象的时候,要优先考虑组合,而不是继承。因为父类的任何改变都可能直接音响子类的行为。
6:设计分类
创建型模式:创建对象。
结构行模式:对象的组成及对象的关系。
行为型模式:对象的行为。对象能够做什么。