程序员之四 设计模式

聊设计模式,有一个内容是必定要掌握的。类图,一个优秀的架构,如果没有类图来辅助,也是一个很恐怖的事情。试想,大牛写出的代码,某一天,大牛离职,公司又招一个菜鸟来跟进这个系统。很显然,菜鸟没有大局观,更多的是switchif/else等控制语句来修改代码。过不了多久,一团糟的局面又出现了。假如,把优秀的架构都整理成文档,画好类图,事情会变得简单很多。

类跟类之间的关系就那么几种,依赖、关联、聚合、组合、继承、实现。一个简单的类图只需要处理好这几种关系。你说有什么难的?难的就是你肯不肯花时间,以我个人的经验,画一画类图能让系统的代码结构更加清晰,设计能更合理。

当你掌握了类图,可以看看设计模式了。自从出现了spring ioc,我觉得创建模式,不再那么重要了,但是有几个模式还是应该掌握的。

首当其冲的就是策略模式,当你的代码中出现过多的条件分支语句,你就应该注意了。是不是可以提炼接口,用工厂管理策略类。而把具体的业务逻辑放到策略中去实现。

其次,模板方法模式,如果你是一个负责人,应该把控好系统核心的、复杂的业务实现。在你不想去事事躬亲的时候,定义好模板、钩子也是一个不错的选择。

然后,要说装饰器模式了,很多时候,我是不愿意别人直接改动我的代码的,就算一个小小的信息统计功能。谁能保重,你的修改不会产生新的bug,这是,建议你可以考虑用装饰器模式。哈哈,其实javaAPI中就用得不错,在javaIO那一块,对inputStream的封转就是很典型的装饰器模式。

对方法的调用还有很多,像适配器、中介者、桥接等等,作为一个程序员,我觉得对前人的经验不可不当回事。应该在学习新技术的过程中,时常去看看那些优秀的设计模式。很多时候,你会发现,你写出的代码渐渐的满足了面向对象的6项基本原则。

哈,如果你能灵活的运用设计模式这项工具,评一个高级程序员的职称应该不为过了吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值