Head First 设计模式-- 总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Head First 设计模式-- 总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1417字,纯文字阅读大概需要3分钟。
内容图文
模式汇总:
装饰者 :包装一个对象以得到新的行为
状态 :封装了基于状态的行为,并使用委托在行为之间切换
迭代器 :在对象的结合中游走,而不暴露集合的实现
外观 :简化一群类的接口
策略 :封装可以互换的行为,病史用委托类决定要使用哪一个
代理 :包装对象,以控制对此对象的访问
工厂方法 :由子类决定要创建的对象是哪一个
适配器 :封装对象,并提供不同的接口
观察者 :让对象能够在状态改变时被通知
模板方法 :由子类决定如何实现一个算法中的步骤
组合 :客户用一致的方式处理对象集合和单个对象
单例 :确保有且只有一个对象被创建
抽象工厂 :允许客户创建对象的家族,而无需指定他们的具体类
命令 :封装请求成为对象
用到的设计原则:
- 封装变化
- 多用组合少用继承
- 针对接口编程,不针对实现编程
- 松耦合
- 开闭原则(类应该对扩展开放对修改关闭)
- 依赖抽象,不依赖具体
- 迪米特原则(只和朋友交谈)
- 别找我,我会找你
- 类应该只有一个改变的理由
模式分类:
创建型:Singleton, Builder, Abstract Factory, Factory Method, Prototype
行为型:Template Method, Visitor, Iterator, Command, Observer, State, Strategy
结构型:Decorator, Proxy, Composite, Bridge, Adapter, Flyweight
我们使用设计模式的目的是为了让我们的代码更简单,让以后更容易扩展。使用设计的模式的时候,一定会比不使用设计的代码更复杂,因此,对于一些没必要使用设计模式的地方,就不要使用设计模式。像一些以后不会修改的地方,不会扩展的地方,直接写就可以了,不要增加冗余的代码来增加什么设计模式。一段有设计模式的代码更从其他人的角度来看更加难理解。在使用设计模式的时候一定权衡好,时刻记住一点,我们使用设计模式只是为了增加我们以后的扩展性。还有,在写完一段代码的时候,想想怎么可以重构一下简化代码,实际上,写程序的逻辑应该只是写完这段代码花的时间最少的一部分,更多的时间应该是整理代码,能重用的就重用。
写代码的时候记住那些设计原则就能帮助我们写出优秀的代码。
读后感:这篇文章是读完这本几天后写的,在一开始看的时候,肯定是看到哪个模式的时候已经把这个模式自我感觉看透了,但是现在在回头想想,能像一开始那样记住的并不剩几个了,给我的感觉其实并不必要去死记硬背一些什么模式改怎么写,主要在脑子里有一些设计模式的概念,在碰到问题的时候,先从脑子搜索一下哪个模式能解决类似的问题,到那时候在去找也可以,如果从设计原则出发开始思考问题,也许到时候不知不觉的就发现,原来这个地方我还用到了设计模式。所以,这本给我最大的收益就是让我记住了那些设计原则,在写代码的时候能先从设计原则出发思考问题。并没有强求硬要写什么模式,模式只是为了以后扩展方便,如果你都不知道哪个地方以后会扩展,那在第一次就写那么复杂的代码干什么,想让别人知道自己多NB?如果知道了这个地方以后一定会有扩展,那么,一定要想好用哪个设计模式,这种时候才是应该用设计模式的地方。这本书后面还面还有几个模式,这里也就不写了,抓住重点就可以了。
原文:http://www.cnblogs.com/badboyf/p/6247293.html
内容总结
以上是互联网集市为您收集整理的Head First 设计模式-- 总结全部内容,希望文章能够帮你解决Head First 设计模式-- 总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。