Head First设计模式第一天学习笔记

使用设计模式的好处是让你和其他开发人员之间有共享词汇,便于和其他开发人员进行沟通,同时也可以把你的思想架构的层次提高到模式层次,而不是仅停留在对象上。

 

关于设计模式的一些认识:设计模式不同于库以及框架,设计模式是一种设计思想,设计模式比库以及框架的等级更高。设计模式是对于OO问题的归纳与总结之后得出的如何组织类和对象以解决某种问题。而库和框架虽然提供了我们特定的实现,让我们的代码可以轻易地引用,但这并不算是设计模式(虽然有时候库和框架的设计会运用设计模式),所以设计模式没有库,但是设计模式有其相关的类目。

 

设计原则:

1)把应用中可能需要变化的地方提取出来,进行封装,好让其他部分不受影响,同时也方便这部分代码以后的修改以及扩展;

2)针对接口编程,而不是针对实现编程(注:这里“接口”只是一个概念,而“针对接口编程”本质是利用多态实现“针对超类型编程”,并不仅仅局限于interface,也可以是抽象超类,具体使用视情况而定);

3)多用组合,少用继承,因为组合建立系统具有很大的弹性,可以在运行时动态地改变行为。

 

策略模式:定义了算法族,分别封装起来(将可能会变化的事件提取出来,并分别封装),让他们之间可以互相替换(通过接口的互相组合),此模式让算法的变化独立于使用算法的客户。

 

设计模式的工具:

1)基础:

   抽象、继承、多态、封装(即面向对象的四个基本特征)

2)原则:

   封装变化;针对接口编程,而不是针对实现编程;多用组合少用继承

3)模式

   策略模式

 

 

要点:

1)知道OO基础,并不足以设计出良好的OO系统,因为良好的OO系统必须具备可复用,可扩充,可维护(易维护)三个特性;

2)设计模式可以让我们建造出具有良好OO设计质量的系统,而模式是历经验证的OO设计模式,所以学习设计模式就是学习前人总结的OO设计相关的经验;

3)设计模式不是代码,而是针对设计问题的通用解决方案,所以设计模式不是发明,而是被发现;

4)大多数模式和原则,都着眼于软件变化的主题,并且大多数的模式都允许系统将局部变化独立于其他部分,所以我们常将变化的部分抽出来进行封装;

5)模式让开发人员之间有共享的语言,能够最大化沟通的价值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值