理解软件设计模式是初级程序员成长道路上的毕竟之路。作为软件开发人员长期的经验积累,软件设计模式对于软件设计,架构有着极其重要的指导性作用。同时也是一门在软件设计师,架构师之间快速沟通设计思想的专用语言。本课程将详细介绍常用的几种设计模式已经反模式,帮助大家快速理解软件设计原则和设计模式的使用。 课程大纲: 第一课 设计模式简介 设计模式历史 设计模式的要素 设计模式分类 设计原则 课程内容安排 第二课 创建模式(上):不要关注具体对象的创建 Gof设计模式总览 简单工厂 工厂方法 抽象工厂 第三课 创建模式(下) 单例模式:只有一个对象 多例模式:单例的扩展 原型模式:自我复制 创建者模式:封装对象的创建方法 第四课 结构模式(上) 适配器:到哪里都能用 桥接:从不同唯独分离变化 组合:让递归更容易 装饰者模式:让无限扩展成为可能 第五课 结构模式(下) 外观模式:封装内部实现 享元模式:节约内存和时间 代理模式:万能的代理 第六课 行为模式(上) 责任链:步步为营 命令模式:封装命令 迭代器:遍历容器 模板方法:模式中的模式 第七课 行为模式(中) 观察者:有事通知你 状态模式:分离不同状态下的行为 策略模式:自由选择方案 访问者模式:语法解析器的最爱 第八课 行为模式(下) 中介者模式:让交流井然有序 备忘录:记录一下状态 解释器:简单的解析器 第九课 设计模式复习 模拟鸭子 星巴兹咖啡 星巴兹供应茶了 回顾设计原则 正确的心态对待模式 第十课 并发模式 生产者消费者:我们需要一根管道 Future模式:给你一个承诺 Master slave:干活需要一个领导 Thread Specific Storage:换个思维解决并发冲突 Single Threaded Execution:一个一个执行 Thread per Message:为每个消息分配一个线程 Read Write Lock:更快的并发策略 Worker Thread:复用线程吧 Serial Thread Confinement:有时候一个人干活更快 第十一课 常见的反模式(上) 什么是反模式 反模式参考模型 常见开发反模式 The Blob:万能的类 Continuous obsolescence:总是使用过时技术 lava flow:没用的代码 functional decomposition:真的使用了面向对象? Poltergeist:谁在恶作剧 Golden hammer:我有一把锤子,所以一切都是钉子 Dead End:走进了死胡同 spaghetti code:乱七八糟的代码 input kludge:让用户一碰就挂机 cut and paste programming:让我们一起复制粘帖吧 第十二课 常见的反模式(下) Stovepipe Enterprise:企业内的信息孤岛 Stovepipe System:系统内的信息孤岛 Jumble:混乱的设计 Vendor Lock-in:绑定供应商真的好吗 Architecture By implication:实现主导架构 warm bodies:滥竽充数 design by committee:民主还是专制? Reinvent the wheel:重新发明轮子 授课时间: 课程预计2022年4月15日开课,预计课程持续时间为12周。 授课对象: 软件程序员 设计师,任何对软件设计有兴趣的同学。 收获预期: 深入了解设计模式的使用,理解设计原则。 讲师介绍: 葛一鸣,国内著名的Java导师,弟子众多。著述丰富,著有《Java程序性能优化》《实战Java虚拟机》《实战Java高并发设计》《自己动手写神经网络》等技术书籍,在读者中颇受欢迎。亦在炼数成金网站开设《深入JVM内核—原理、诊断与优化》《实战Java高并发程序设计》《深入浅出Spring》等多门Java相关的课程,课程清单依然在不断增加中。葛老师具有深厚的Java开发经验和丰富项目经历。在编码和设计方面有自己独特的视角和观点。曾就职于全球较大托管银行担任高级研发工作。现就职于知名通信公司,负责技术管理和软件质量。热衷于技术专研和分享,偶尔喜欢一露身手,曾在阿里云举办的“大数据安全算法竞赛”中从数千名参赛选手中脱颖而出获得季军。 现任炼数成金JAVA实战精英培养计划导师:http://ie.dataguru.cn/ieplan-21.html 课程试听: |