该课程由猎学网审核,享受猎学网报名、支付保障
JAVA培训(高级软件设计实践及案例实战)
第一单元 什么优秀设计以及如何实现应对需求变化
内容一:什么是好的设计
1.什么是好的软件详细设计和衡量的手段
2.世界大师的观点(Robert C Martin , Peter Code,` James Shor)
3.我们现实项目的情况,随时需求的变化,我们自以为豪的设计,都逐渐变烂,变成纠缠不清的代码浆糊.
4.可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标
5.灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标
6.可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来. 结合案例,通过那些手段如何实现该目标.
内容二:如何应对需求的变化
1.设计基本原则
2.发现和封装变化的原则
3.面向对象的基本原则(OCP/SRP/ DIP等基本设计原则)
4.根据共性性分析,进行行为职责或者数据的抽象
5.根据可变性分析,进行职责的结构分析和实现
6.局部化变更-可修改性战术目标是减少由某个变更直接影响的模块数量.
7.防止连锁反应-目标是限制对局部化的模块的修改.减少间接受变更影响的模块.
8.推迟绑定时间-尽量不要静态编译,应该运行期间决定组件之间关系
9.结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化
第二单元设计原则及设计模式
内容一:面向对象设计原则及其分析
i 软件设计目标,基本原则和模式关系
i 开闭原则
i 依赖倒置原则
i 单一职责原则
i 里氏替换原则
i 合成/聚合复用原则
i 接口隔离原则和Demeter法则
i 通过案例进行分析,模式如何使用
内容二:常见架构设计原则及其分析
i 抽象(Abstraction)、封装(Encapsulation)和信息隐藏(Information Hiding)
i 分而治之(Divide-And-Conquer)和模块化(modularization)
i 松耦合和高内聚(Coupling and Cohesion)
i 策略和实现的分离(Separation of Policy and Implementation)
i 接口和实现的分离(Separation of Interface and Implementation)
i 单一引用点(Single Point of Reference)
典型案例分析:架构原则在实际项目中应用
内容三:案例分析—OO基本原则 (多个小案例,不涉及特定的业务)
i 通过经典面向对象案例,要求学员分别使用过程式和面向对象2种思维,进行设计
i 进行对比2种思维的不同点和结果
i 通过案例指出OO是否真正做到了它所说的价值
i 这些小案例涉及项目开发中的常见的困境、疑惑,本节探讨如何通过设计原则解决。
讨论设计原则与设计模式的关系,已经在没有合适模式可用的情况下如何分析、解决问题。
第三单元设计模式大讨论
内容一:模式大PK,通过对比了解设计模式的细节
1.创建型模式讨论
a)简单工场 工厂方法 抽象工场
b)Abstract Factory,builder,Prototype 模式
c)单例模式
2.行为型模式
a)Adapter与Bridge
b)Composite、Decorator与Proxy
c)Façade模式 与 Adapter模式 /Proxy模式
d)Composite 与Iterator模式
3.结构型模式
a)封装变化-Strategy/State/ Iterator模式
b)封装结构---Mediator模式与Facade模式
c)对象作为参数-- Visitor/Command/Mementor
d)通信应该被封装还是被分布- Mediator和Observer
e)对发送者和接收者解耦-Command模式与职责链模式
将实践中常容易混淆或常常联合使用的几个模式放在一组讨论,对比分析,讲解思想。如何发现、应用更多模式。通过对“相似或相关的设计模式”的对比分析,加深理解,是避免“模式误用”的好方法。
内容二:设计模式总结
1.设计模式不是银弹
2.设计模式真正给设计者带来的价值
3.设计模式仅仅是工具
4.超越设计模式
第四单元重构到设计模式
内容一:重构到模式
1.软件设计的基本原则
2.设计模式概述
3.设计模式的本质论
4.设计模式如何适应变化和封装
5.重构到模式的思路
内容二:案例---重点介绍重构基本类型依赖和对应模式
1.通过案例学习以下重构到模式手段
2.以State取代状态改变条件语句
3.以Strategy取代条件逻辑
4.以Composite取代隐含树
5.以Interpreter取代隐式语言
6.转移装饰功能到Decorator
7.用Builder封装Composite
8.重点学习案例的重构到模式的过程
内容三:案例---重点介绍重构代码重复和对应模式
·通过案例学习以下重构到模式手段
·构造Template Method
·以Composite取代一/多之分
·引入Null Object
·用Adapter统一接口
·用Fatory Method引入多态创建
·重点学习案例的重构到模式的过程
课程说明:
本课程主要讲解java面向对象设计原则,设计模式;
讲解如何才是优秀的设计;
讲解常用设计模式的使用场景及使用方法;
讲解设计模式在实际项目中的综合应用
讲解设计模式在代码重构中的使用。
讲解代码的可扩展性和可维护性应用。
课程目的:
让学员熟练掌握面向对象的设计;熟悉设计模式的使用场景;
熟悉在项目中使用设计模式;
熟悉如何利用设计模式进行代码重构;
熟悉代码的可扩展性和可维护性
授课形式(录制)
·PPT+教材+参考资料,理论讲解
·场景+案例+模拟环境,动手实践
·手把手解决问题+解决问题经验分享
顾问将于24小时内联系您!