head first 设计模式第一章笔记
2024-08-31 20:57:14
设计模式是告诉我们如何组织类和对象以解决某种问题。
学习设计模式,也就是学习其他开发人员的经验与智慧,解决遇到的相同的问题。
使用模式的最好方式是:把模式装进脑子,然后在设计的时候,寻找何处可以使用它们。函数,方法是代码的复用,模式是经验的复用。
继承:超类的改变是会影响所有子类的,有时候让所有的子类都具有超类的行为是不恰当的,所以继承并不总是能很好的解决问题。
接口:java的接口是不具有实现代码的,所以继承接口是无法达到代码复用的
修改软件时,寻求用一种对既有代码影响最小的方式来修改软件,是我们的想要的需求。
设计原则一:找出应用中可能需要变化之处,把他们抽取出来并“封装”,不和那些不需要变化的代码混在一起。这样代码变化引起的不经意后果变少,系统将变得更有弹性。
这个简单是原则几乎是以后每个设计模式背后的精神所在----“系统中的某部分变化不会影响其他部分”
设计原则二:针对接口编程,而不是针对实现编程。即利用多态,程序针对超类型编程。实例的行为将在运行时动态的设定。
设计原则三:多用组合,少用继承。两个类的组合,能获得适当的组合行为,同时系统也具有很大的弹性。
学完以上三个原则,获得第一个设计模式:策略模式(定义了算法族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化独立于使用算法的客户)。
建立可维护的OO系统,要诀在于随时想到系统以后可能需要的变化以及应付变化的原则。
最新文章
- RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)
- Android 内存溢出解决方案(OOM) 整理总结
- 在IOS中 NSRange类详解
- react ie10下报错
- lucene 抛出的异常(分享)
- REST简介及设计原则
- windows cmd命令行下创建文件和文件夹
- 饥饿的牛(hunger)
- 201521123054 《Java程序设计》第5周学习总结
- 【UML】NO.55.EBook.8.UML.3.001-【UML和模式应用 第3版】
- 高通 sensor 从native到HAL
- 八、启动linux内核并修改开机logo
- 字符常量 java
- drools研究后记
- ReentrantLock锁的释放
- bintray 在android3.2上传遇到的问题
- Java实例 Part5:面向对象入门
- C# http Get/POST请求封装类
- 传智播客Springmvc_mybatis学习笔记
- 【转】android的编译和运行过程深入分析
热门文章
- C# 求Π Π/4=1-1/3+1/5-1/7+......+1/(2*n-3)-1/(2*n-1); (n=2000)
- PHP Windows下使用Memcached扩展
- 存储路径与文件目录操作ZT
- js循环和调用
- Flask框架实现给视图函数增加装饰器操作示例
- 找不到 cucumber.api.cli.Main 的报错解决方案
- SpringBoot系列:Spring Boot异步调用@Async
- java 项目时间和服务器时间不一致
- python中@property装饰器的使用
- python-nmap使用及案例