2017编程提高群第二季火热招募中
想写出漂亮优雅的代码,除了一些表面的技巧之外,更重要的是面向对象的设计(OOD)能力,简单来讲,就是能不能把职责划分到合适的类中, 然后让他们协作起来, 尽可能地预料变化并且封装变化。
所以封装、继承、多态只是入门, 重点是 OOD和设计模式背后的思想,思想,思想。
2017编程提高群第二季的正餐就是 OOD 和 设计模式。
如果你增删改查做烦了,不妨考虑提升下设计能力。
1正餐
第1周:概述
结构化 vs OO
OO如何实现责任转移和应对需求变更
发现变化并且封装变化
优先使用组合而不是继承
OOD原则之SRP(单一职责原则)
作业: 重构一个发送邮件的程序,使之符合SRP
第2周:OOD原则
OCP(开放封闭原则)
LSP(Liskov替换原则)
ISP(接口隔离原则)
DIP (依赖倒置原则)
备注: 每个原则包含若干练习题
第3周:UML介绍
讲解最常用的类图,顺序图和用例图
作业: 画出两个小系统的类图和顺序图
第4,5 周:案例研究
案例1: 薪水支付,这是一个经典的OO案例, 体现了抽象的重要性,务必要动手写一遍
案例2: 餐馆预约系统, 这是一个简单的系统, 主要练习单一职责原则
第6,7,8周 : 设计模式
设计模式只是面向对象设计思想的体现。 选取最常用的设计模式,重点讲解 why , 以及如何体现OOD的思想。
学习的方法我希望以讨论为主,点评为辅。 同时希望同学们能分享自己的心得, 有奖金作为奖励。
创建型模式: Builder, 简单工厂,工厂方法,抽象工厂,单例
结构型模式: 组合,代理,装饰,外观,适配器,桥接
行为型模式:观察者, 模板方法,策略,命令,访问者,解释器, 迭代器
第9,10 周: 实现 lite junit
模仿JUnit ,实现一个简单版本,可以对java类进行自动化单元测试, 体验从模式构建架构的思想
第11周: Jive 代码剖析
通过剖析Jive这个大量使用设计模式的古老论坛, 分析它使用设计模式的得与失。
2加餐
1. 数据结构与算法: 继续每周布置/讲解作业
2. 各种基础知识
第一季讲过的内容
计算机的组成
漫谈计算机语言的发展
虚拟内存
进程和线程
程序的机器级表示
IO模型(同步异步,
阻塞非阻塞)
Socket & Https
Web 安全
Java 并发编程之Volatile
Java 垃圾回收
编写可读代码的技巧
文件系统
从字节码到AOP
职场15年:一个普通人的奋斗
面试:建立互信的过程
云计算介绍
敏捷软件开发
第二季的计划
已经确定的部分主题:
Java 并发编程:线程和锁,死锁, 线程池, CAS, ThreadLocal
缓存基础
SSO
微服务
实现一个简单的词法分析器
web socket
软件行业应用层和基础软件技术发展史
分布式文件系统(以FastDFS为例)
........
欢迎补充更多, 会根据大家的需求动态调整内容。
3目标听众
1. 整天做增删改查, 想提升设计能力的同学
2. 课程会使用Java来讲解,需要有Java SE基础
4上课时间
开课时间: 6月11 日
结束时间: 8月13 日
每周日晚8点 : 正餐, OOD和设计模式
每周三晚8点半: 加餐, 基础知识, 数据结构
形式: QQ群视频,肯定有录屏
5费用
想立刻参与的话,可以给我微信或者支付宝转账, 和第一季一样,还是300元
微信:liuxinlehan
支付宝 :onlyliuxin@gmail.com
转账后务必加我的微信(liuxinlehan)或者QQ(3340792577) ,我会邀请你入群。
想咨询的话也可以加我的微信或QQ交流。
你看到的只是冰山一角, 更多精彩文章,请移步《码农翻身文章精华》
有心得想和大家分享? 欢迎投稿 ! 我的联系方式:微信:liuxinlehan QQ: 3340792577
码农翻身
用故事给技术加点料