程序要隔离变化:首先要抽象、剥离出固定的部分,即使剩余部分再怎么变化,它也是不变的;做到这一点就必须使程序依赖于抽象,而不依赖于实现;这里的“抽象”应该从广义上理解,它可以是interface也可以是抽象类,可以利用ioc,甚至一个方法都行,总之,这部分不能使用具体的实现。
举个生活中的例子:小明接到一个电话找他爸爸,但恰好他不在家,于是小明告诉对方晚点再打过来。过一会儿爸爸回来了,但刚才对方是谁小明忘了问,那他怎么向爸爸介绍这个人呢?
1、刚才有同事给你打电话了;
2、刚才有朋友给你打电话了;
3、刚才有个男的给你打电话了;
4、刚才有人给你打电话了。
小明会选句?随便点的就会选第4句,绝对不会错;认真点的说第3句,基本不会错。但第2句就不一定说了,没准这人是债主呢,“要是再不还钱,就XXXX”;第一句就纯属yy了。这说明依赖的范围越大就越可靠,这里的“大”可以理解为抽象程度的高低,面向抽象编程,道理其实就这么简单。
也可由单一职责原则引出面向抽象原则:职责太多就需要剥离,剥离后依赖的部分只能是抽象。
分享到:
相关推荐
《写给大家看的面向对象编程书》第三版很可能会以通俗易懂的语言和丰富的示例,帮助读者逐步建立起面向对象的思维,掌握编程中的这一核心技能。同时,书中可能还会涉及一些现代编程语言如何支持面向对象特性,以及...
"OO 面向对象概念通俗说明" OO 面向对象概念通俗说明是指使用通俗的举例让大家知道 OO 的概念。OO 是一种编程方式,它使用对象和类来组织和设计程序。OO 的主要特征包括封装、继承和多态。 在 OO 中,对象是指具有...
总结来说,孙卫琴老师的《JAVA面向对象编程》为初学者提供了一个很好的学习资源,通过这本书,新手可以建立面向对象编程的基础知识,并通过理解书中提供的实例,逐渐形成面向对象的思维模式,进而在实际编程中运用...
本文旨在深入浅出地解释面向对象编程的基本概念,帮助读者建立对这一主题的全面认识。 #### 面向对象编程的核心思想 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将现实世界的概念...
作为一名教育工作者,采用生活中的例子或趣味图片来解释复杂的编程概念,可以帮助学生更好地理解和记忆。通过扫地车与拖拉机的例子,学生可以直观地理解多态、继承、封装等概念,从而降低学习难度,提升学习效果。
### 设计模式之通俗理解 #### 单一职责原则 **定义**:单一职责原则(Single Responsibility Principle, SRP)主张一个类应该只有一个引起它变化的原因。换句话说,一个类应该只负责一项职责。 **解释**:单一...
《C#全解》是一本详尽介绍C#语言的书籍,不仅覆盖了C#的基础知识,还深入探讨了面向对象编程、泛型编程等高级主题。通过本书,读者可以系统地学习C#语言,并了解.NET框架下的软件开发流程。 ### C# 3.0与.NET 3.5...
知识点6:抽象和面向对象编程 * 抽象:抽象是指将复杂的东西简化成简单的模型,例如将游戏中的角色简化成一个模型。 * 面向对象编程:面向对象编程是指使用对象和类来组织代码,例如将游戏中的角色定义为一个类。 ...
这份名为“Java开发中名词的通俗解释共2页.pdf”的压缩文件,显然提供了一份简明扼要的Java编程术语解析,旨在帮助初学者或有经验的开发者更好地理解Java开发中的关键概念。虽然压缩包中似乎还有一个名为“赚钱项目...
面向对象思想是编程领域中的一个重要概念,它是一种模拟现实世界中对象和类的抽象思维方式,使得代码更加结构化、模块化。本资源“面向对象思想学习(精华版)”汇集了多位资深程序员的经验心得,旨在帮助初学者和有...
《谭浩强版 C++面向对象程序设计》是学习C++编程的经典教材,以其通俗易懂的语言和丰富的实例深受初学者喜爱。这个压缩包包含了书中的部分例题和课后习题的源代码,旨在帮助读者更好地理解和实践C++面向对象编程的...
- **深入浅出**:作者用通俗易懂的语言解释复杂的概念和技术细节,使读者容易理解并应用到实际开发中。 - **面向对象思想**:强调面向对象的设计原则和编程实践,帮助读者建立良好的软件设计思维。 #### 关键知识点...
在学习Java的过程中,理解这些基本概念对于掌握Java编程至关重要。随着经验的积累和对高级特性的学习,如泛型、并发编程、网络编程和流式处理等,可以进一步提高编程技能。Java社区提供了丰富的资源和工具来帮助...
4. **面向对象编程**:JAVA是纯面向对象的语言,学习对象、类、封装、继承、多态等概念是核心内容。理解类的构造器,方法重载和覆盖,以及抽象类和接口的区别至关重要。 5. **异常处理**:JAVA的异常处理机制允许...
第2篇 C#面向对象编程 第3章 羽翼丰满:C#的面向对象 第4章 双管齐下:抽象类和接口 第5章 无懈可击:调试异常与编码标准 第6章 添砖加瓦:字符、字符串 处理与正则表达式 第7章 兵分两路:数组与集合 第8章 ...
《白话C++编程》是一本面向初学者和进阶者的C++编程教程,旨在用通俗易懂的语言讲解复杂的C++概念。C++是一种强大的、通用的编程语言,被广泛应用于系统软件、游戏开发、应用软件以及高性能计算等多个领域。本书以...
- **易于理解**:作者用通俗易懂的语言讲解复杂的编程概念,即使是初学者也能轻松跟上节奏。 - **权威性**:多位Python领域的专家对本书给予了高度评价,认为它是学习Python的最佳选择之一。 #### 核心知识点 1. *...