理解软件设计模式是初级程序员成长道路上的毕竟之路。作为软件开发人员长期的经验积累,软件设计模式对于软件设计,架构有着极其重要的指导性作用。同时也是一门在软件设计师,架构师之间快速沟通设计思想的专用语言。本课程将详细介绍常用的几种设计模式已经反模式,帮助大家快速理解软件设计原则和设计模式的使用。
课程大纲:
第一课 设计模式简介
设计模式历史
设计模式的要素
设计模式分类
设计原则
课程内容安排
第二课 创建模式(上):不要关注具体对象的创建
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:重新发明轮子
授课时间:
课程预计2018年1月20日开课,预计课程持续时间为12周。
授课对象:
软件程序员 设计师,任何对软件设计有兴趣的同学。
收获预期:
深入了解设计模式的使用,理解设计原则。
讲师介绍:
葛一鸣,国内著名的Java导师,弟子众多。著述丰富,著有《Java程序性能优化》《实战Java虚拟机》《实战Java高并发设计》《自己动手写神经网络》等技术书籍,在读者中颇受欢迎。亦在炼数成金网站开设《深入JVM内核—原理、诊断与优化》《实战Java高并发程序设计》《深入浅出Spring》等多门Java相关的课程,课程清单依然在不断增加中。葛老师具有深厚的Java开发经验和丰富项目经历。在编码和设计方面有自己独特的视角和观点。曾就职于全球较大托管银行担任高级研发工作。现就职于知名通信公司,负责技术管理和软件质量。热衷于技术专研和分享,偶尔喜欢一露身手,曾在阿里云举办的“大数据安全算法竞赛”中从数千名参赛选手中脱颖而出获得季军。
现任炼数成金JAVA实战精英培养计划导师:http://ie.dataguru.cn/ieplan-21.html
点击下方二维码或阅读原文报名课程: