Head First设计模式读书随笔

一、第九页
找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混合在一起。
//面向对象的特点之封装。将不需要变化的代码封装起来。

二、第十一页
针对接口编程【针对超类型(接口+抽象类)编程】,而不是针对实现编程。
依赖于实现的表现:行为来自超类的具体实现,或是继承某个接口并由子类自行实现出来。
//面向对象的特点之多态。声明接口,实现具体类。
//可以实现动态运行。

三、第二十三页
多用组合,少用继承。
使用组合建立的系统具有很大的弹性,不仅可将算法族封装成类,更可以"运行时动态改变行为"。

/*-----------------以上三点原则出自策略模式---------------------*/
策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。


四、第七十四页
为交互对象之间的松耦合设计而努力

/*------------------第四条原则出自观察者模式---------------------*/
观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。
观察者模式是JDK中使用最多的模式之一


五、第八十六页 开放-关闭原则
类应该对扩展开放,对修改关闭。
不要将设计的每一个部分都具备开放性和关闭性,因为遵循开放-关闭原则,通常会引入新的抽象层次,增加代码的复杂度。我们要把注意力集中在设计中最有可能改变的地方,然后应用开放-关闭原则。

/*------------------第五条原则出自装饰者模式---------------------*/
装饰者模式:动态地将责任附加在对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
感悟:装饰者模式可以很好的实现开放-关闭原则,但是,前提条件是超类中包含继承类的所有方法,即继承类不能定义除超类中方法的任何自定义方法。


/*------------------第六条原则出自工厂方法模式---------------------*/
工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类将实例化推迟到了子类。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Head First设计模式》是一本设计模式学习的畅销书籍。这本书的作者以幽默风格和易于理解的语言,引导读者深入了解面向对象设计的基础知识和常见设计模式的应用。 《Head First设计模式》首先介绍了面向对象设计原则,如开闭原则、依赖倒置原则和单一职责原则等。它强调了设计模式的重要性,这些模式是在常见的软件开发场景中提供解决方案的经验总结。 接着,书中详细介绍了23个经典的设计模式,分为创建型模式、结构型模式和行为型模式三个大类。每个模式都通过生动的例子和图表进行解释,使读者能够更好地理解其应用场景和使用方法。同时,还提供了一些实际案例,帮助读者将学到的知识应用到实际项目中。 《Head First设计模式》以问题驱动的方式进行讲解,通过解决具体的问题来引导读者理解模式的思想和用法。这种方式使得学习变得更加有趣和互动,读者可以通过参与问题的解决过程来更好地理解模式的实际应用。 总的来说,这本书是一本通俗易懂的设计模式入门教材。它以轻松幽默的方式向读者介绍了设计模式的基本概念和常见应用。读者通过阅读这本书,能够对设计模式有一个清晰的理解,并能够在实际项目中灵活运用。无论是初学者还是有一定经验的开发者,都能从中收获实用的知识和提升自己的设计能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值