专栏名称: 码农翻身
工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训, 不容错过。
目录
相关文章推荐
程序员的那些事  ·  突发!4 个程序员被抓,维护赌博网站每月赚 ... ·  3 天前  
程序员的那些事  ·  董事长十几刀刺死 ... ·  2 天前  
程序猿  ·  DeepSeek创始人梁文锋实习往事:月薪1 ... ·  3 天前  
OSC开源社区  ·  字节跳动开源跨平台UI框架Lynx:一套代码 ... ·  2 天前  
51好读  ›  专栏  ›  码农翻身

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

码农翻身  · 公众号  · 程序员  · 2017-06-02 17:10

正文

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







请到「今天看啥」查看全文