head first设计模式之设计原则
1.0 找出代码中需要变化的部分 把他们独立出来
那么怎么找出来需要变化的部分呢?
2.0 针对接口编程 而不是针对实现编程
3.0 多用组合 少用继承
例如鸭子类 假设Duck 是父类 他的实现类SmallDuck 所谓多用组合少用继承
就是说鸭子的行为不要直接继承父类的 而是和其他类组合起来用的 也就是其
他行为 你是继承父类或者在父类实现的,而是继承其他的类或者接口 然后在
父类中呗一起使用 这就是所谓的组合
组合的优点 :系统具有很大的弹性 不仅可以把算法组封装成类 还可以动态的在运行时改变行为
共享词汇 就是相当于专业术语 你一说大家就懂了 可以避免歧义 顺利沟通
例如我们在说观察者模式 懂设计模式的人一听就懂了 如果没有这些 那么就很费劲
4.0 为交互对象松耦合而努力
观察者模式
持续更新中。。。
head first设计模式之设计原则相关推荐
- 设计一个矩形类rectangle_万字长文带你捋清六种设计模式的设计原则(建议收藏)...
对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去.可是,在日常的打码中,用的最多的就是单例,其次是观察者和建造者模式 ( bu ...
- 设计模式 - 七大设计原则(一)
设计模式 - 七大设计原则(一) 概述 简单介绍一下七大设计原则: 开闭原则:是所有面向对象设计的核心,对扩展开放,对修改关闭 依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体 单一职责原则:一个 ...
- Go设计模式(3)-设计原则
上一篇文章Go设计模式(2)-面向对象分析与设计里讲过,做设计最重要的是保留合适的扩展点.如何才能设计出合适的扩展点呢? 这篇文章会讲解一下经典的设计原则.这些设计原则大家可能都听过,但可能没有想过为 ...
- 【设计模式】设计原则
[设计模式]设计原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率.节约软件开发成本和维护成本. 1 开闭原 ...
- 设计模式-六大设计原则(附加实际开发建议以及计算器例子)
使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.设计模式使代码编制真正工程化,是软件工程的基石脉络,如同大厦的结构一样. 文章结构: 1.单一职责原则(SRP): 2.里氏替换原 ...
- Java设计模式-七大设计原则
Java设计模式 设计模式七大原则 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码 ...
- 后端学习 - 设计模式与设计原则
文章目录 设计原则 1 单一职责原则 2 开闭原则 3 Liskov 替换原则 4 依赖倒置原则 5 接口隔离原则 6 迪米特法则 设计模式:创建型模式 1 工厂模式 2 抽象工厂模式 3 单例模式 ...
- systemverilog硬件设计及建模_UVM方法学与设计模式(一):从OOP的本质,设计模式到设计原则...
面向对象编程(OOP)是业界使用非常广泛的一种编程范式.以C++的OOP为例,其包含通常我们所说的OOP三大要素:继承.封装和多态. C++ OOP 组成 C++的OOP内容相对来说比SystemVe ...
- 设计模式与设计原则 —— 一句话
一.设计原则 二.设计模式 范围\目的 创建型模式 结构型模式 行为型模式 类模式 工厂方法 (类)适配器 模板方法.解释器 对象模式 单例 原型 抽象工厂 建造者 代理 (对象)适配器 桥接 装饰 ...
- 设计模式七大设计原则
文章目录 1.什么是设计模式 2.单一职责原则 3.开闭原则 4.接口隔离原则 5.依赖倒置原则 6.迪米特法则(最少知道原则) 7.里式替换原则 8.组合优于继承 设计模式主要是为了满足一个字 变, ...
最新文章
- Pandas | 5 种技巧高效利用value-counts
- 我非要捅穿这 Neutron(二)上层资源模型篇
- Machine Learning - Andrew Ng on Coursera (Week 4)
- golang处理kill命令总结
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
- [NOI2015]寿司晚宴(状压dp)
- 前端必须要有的学习能力
- POJ1328Radar Installation
- 2019年7月19日星期五(交叉编译工具)
- 计算科学导论读书笔记
- 中国城市公园规划建设行业运行状况与趋势预测展望报告2022-2028年版
- 打开计算机文件反应慢怎么解决方法,电脑反应慢怎么办?常见原因与解决办法...
- python设计贪吃蛇游戏论文_150行python代码实现贪吃蛇游戏
- Word章节自动编号+公式编号
- android图片上传大小限制,Android解决图片上传过大问题
- 相似度系列-5:语义方法:BERTSCORE: EVALUATING TEXT GENERATION WITH BERT
- access 报表隔行底纹_excel中如何隔行填充底纹
- ie检查服务器证书吊销,浏览器提示“该站点安全证书的吊销信息不可用”的解决方法...
- 机器学习sklearn之预估器(estimator)使用
- 内地朋友对香港银行开户的需求越发增多!