1 课程讲解 1.1 定义 1.2 特质 1.3 重点 2 代码演练 2.1 反例 2.2 正例 1 课程讲解 1.1 定义 定义:一个对象应该对其他对象保持最少的了解.又叫最少知道原则. 1.2 特质 核心:降低类的耦合 优点:降低类的耦合 1.3 重点 只和朋友交流,不和陌生人说话 朋友:出现在成员变量.方法的输入.输出参数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类. 2 代码演练 2.1 反例 测试类: package com.geely.design.principle.d…
1 代码演练 1.1 建造者模式演练 1.2 静态内部类演练建造者模式(链式调用) 1 代码演练 1.1 建造者模式演练 需求: 根据讲师提供的课程名称,课程ppt,课程视频,课程手记,课程问答 制作教学课程. 重点: 教练类coach.java标红部分,builder设值,然后赋值(看test.java). uml类图: 测试类: package com.geely.design.pattern.creational.builder; public class Test { public st…
1 代码演练 1.1 代码演练1 1.2 代码演练2(后端课程子类运用钩子方法,加入写手记的方法) 1.3 代码演练3(前端有多个子类,有得需要写手记,有得不需要写,如何实现?) 1 代码演练 1.1 代码演练1 目的: 木木网制作课程视频父类,前端课程子类和设计模式子类.父类需要制作PPT,制作视频,制作手记,包装课程四个部分,且步骤基本一致,其中制作PPT和制作视频都一致,前端子类和后端子类包装课程方法不一样. uml类图: 测试类: package com.geely.design.pat…
1 代码讲解 1.1 抽象工厂优点 1.2 抽象工厂缺点 1.3 为何有产品族的业务场景宜用抽象工厂设计模式?而不是工厂设计模式? 2 代码演练 2.1 抽象工厂代码演练 1 代码讲解 1.1 抽象工厂优点 a 应用层代码不和具体的产品发生依赖,只和具体的产品族工厂发生依赖关系,低耦合,高内聚. b 从具体的产品工厂取出来的肯定是同一产品族,开发的时候逻辑清晰.(ab其实可以归为1点) c 对于产品族来说,符合开闭原则,增加新的产品族的时候,对扩展开放 1.2 抽象工厂缺点 a 增加新的产品时候…
1 代码演练 1.1 代码演练1(迭代器模式演练) 1.2 代码使用场景 1 代码演练 1.1 代码演练1(迭代器模式演练) 需求: 课程管理:需要实现课程可进行增添,删除,并能够打印出课程列表. uml类图: 测试类: package com.geely.design.pattern.behavioral.iterator; public class Test { public static void main(String [] args){ //新增6个课程 Course course1…
1 课堂讲义 1.1 产品等级和产品簇 2 代码演练 2.1 工厂方法代码演练 1 课堂讲义 1.1 产品等级和产品簇 工厂方法是为了解决同一产品等级的业务抽象问题 抽象工厂方法是为了解决同一产品簇的问题 产品等级: 相同类型的产品为同一产品等级. 比如:汽车有大众汽车,长安汽车,奥迪汽车等.长安汽车和奥迪汽车,大众汽车属于同一产品等级. 产品簇: 长安汽车,长安摩托车,长安自行车. 2 代码演练 2.1 工厂方法代码演练 测试类: package com.geely.design.patter…
1 代码演练 1.1 代码演练1 1 代码演练 1.1 代码演练1 需求: 网站笔记需要存储快照,能实现回退的功能. 注意: a 设计的时候,可以分为笔记类,笔记快照类和 笔记快照管理类  三个类. b 笔记快照管理 和 笔记快照是聚合关系,快照管理可以有0到多个笔记快照. c 快照管理类用栈的方式存储快照,先进后出,后进先出. uml类图:(右边是测试类) 测试类: package com.geely.design.pattern.behavioral.memento; /** * Creat…
1 内容简析(易错加粗) 2 uml类图展示 1 内容简析(易错加粗) 1.1 设计模式中的对象关系 依赖关系 虚线箭头 组合关系 实心菱形 聚合关系 空心菱形(想象成盘子,盛东西,盘子的多,另一方少) 关联关系 实线  类与类的连接,(它使一个类知道另一个类的属性和方法,关联关系一般用成员变量实现) 继承 空心三角形实线 实现 空心三角形虚线 1.2 其他需要注意的地方 实现接口有两种方式,一种是棒棒糖的形式,另一种是虚线空心三角形的方式 2 uml类图展示…
1 主讲内容 1.1 核心内容 1.2 优点 1.3 课程记录 2 代码演练 2.1 接口隔离原则反比 2.2 接口隔离原则正比 1 主讲内容 1.1 核心内容 总结:细粒度可以进行再组装,粗粒度不可再拆分,所以接口设计的时候尽可能适度的拆分 1.2 优点 ◆优点:符合我们常说的高内聚低耦合的设计思想从而使得类具有很好的可读性.可扩展性和可维护性 1.3 课程记录 ◆定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口◆一个类对一个类的依赖应该建立在最小的接口上建立单一接…
1 要点讲解 1.1 需要注意 2 代码演练 2.1 类的单一职责原则demo 2.2 接口的单一职责原则demo 2.3 方法的单一职责原则demo 1 要点讲解 1.1 需要注意 1.1.1 实际应用中,类不采用单一职责,接口和方法采用单一职责.1.1.2 定义:单一职责规定 一个类,接口或者方法,只有一个变化的原因1.1.3 优点:降低类的复杂性,提高可读性,维护时风险降低1.1.4 实际应用,受依赖,组合,聚合这些关系影响,同时受控于项目规模,项目周期,技术人员水平,对进度把控等影响.适…