查看原文
其他

2017编程提高群第二季火热招募中

2017-06-02 老刘 码农翻身

想写出漂亮优雅的代码,除了一些表面的技巧之外,更重要的是面向对象的设计(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



码农翻身

用故事给技术加点料

微信号:coderising


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存