`
hyj1254
  • 浏览: 336098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面向抽象编程通俗理解

 
阅读更多
   程序要隔离变化:首先要抽象、剥离出固定的部分,即使剩余部分再怎么变化,它也是不变的;做到这一点就必须使程序依赖于抽象,而不依赖于实现;这里的“抽象”应该从广义上理解,它可以是interface也可以是抽象类,可以利用ioc,甚至一个方法都行,总之,这部分不能使用具体的实现。
   举个生活中的例子:小明接到一个电话找他爸爸,但恰好他不在家,于是小明告诉对方晚点再打过来。过一会儿爸爸回来了,但刚才对方是谁小明忘了问,那他怎么向爸爸介绍这个人呢?
1、刚才有同事给你打电话了;
2、刚才有朋友给你打电话了;
3、刚才有个男的给你打电话了;
4、刚才有人给你打电话了。
小明会选句?随便点的就会选第4句,绝对不会错;认真点的说第3句,基本不会错。但第2句就不一定说了,没准这人是债主呢,“要是再不还钱,就XXXX”;第一句就纯属yy了。这说明依赖的范围越大就越可靠,这里的“大”可以理解为抽象程度的高低,面向抽象编程,道理其实就这么简单。
   也可由单一职责原则引出面向抽象原则:职责太多就需要剥离,剥离后依赖的部分只能是抽象。
分享到:
评论

相关推荐

    C#编程兵书(完整扫描版 )pdf格式 电子书

    第2篇 C#面向对象编程 第3章 羽翼丰满:C#的面向对象 第4章 双管齐下:抽象类和接口 第5章 无懈可击:调试异常与编码标准 第6章 添砖加瓦:字符、字符串 处理与正则表达式 第7章 兵分两路:数组与集合 第8章 ...

    鸡啄米:C++编程入门系列

    大家要是觉得不错,可以下载我整理得另一套资源:VS2010+MFC编程入门,也是鸡啄米的,写得不错,通俗易懂! --------------------------完整目录如下------------------- 第一部分:C++编程概述 鸡啄米:C++编程...

    java基础总结

    全书共11章,包括Java开发环境的搭建及其运行机制、基本语法、面向对象的思想,采用典型翔实的例子、通俗易懂的语言阐述面向对象中的抽象概念。在多线程、常用API、集合、IO、GUI、网络编程章节中,通过剖析案例、...

    Java面向对象实战进阶

    主要包括Java高级编程部分,包括:Java修饰符、抽象类和接口编程、Java常用类、集合、异常、多线程开发、IO流和文件、Java网络编程、反射、Java8新特性等。内容全面,讲解细致,依然为实际课堂授课内容,语言通俗...

    JAVA基础案例教程

    全书共11章,在讲解Java开发环境的搭建及其运行机制、基本语法、面向对象的编程思想时,采用通俗易懂的语言阐述抽象的概念,选用典型翔实的例子演示知识的运用。在讲解多线程、常用API、集合、IO、GUI、网络编程的...

    java基础入门

    全书共11章,包括Java开发环境的搭建及其运行机制、基本语法、面向对象的思想,采用典型翔实的例子、通俗易懂的语言阐述面向对象中的抽象概念。在多线程、常用API、集合、IO、GUI、网络编程章节中,通过剖析案例、...

    C++100天经典实战系(含大量案例源码及通俗讲解教程,effective_c++、STL、综合能力全面提升)

    友元函数与友元类、引用与指针那些事、深入浅出C++虚函数的vptr与vtable、宏那些事、范围解析运算符那些事、从初级到高级的enum那些事、纯虚函数和抽象类、volatile、virtual、using、union、this、struct_class、...

    初学者python笔记(函数)

    面向对象>>>重在用一个个对象的执行去实现想要的效果(常常与面向过程结合起来,这里有一篇文章,对面向对象有非常通俗易懂的解释和案例用生活案例让你明白面向对象) python中的函数参数 def test(x, *args): print...

    《Thinking In Java》中文版

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Visual C++6.0高级开发教程(DHTML)

    最后对动态数据交换(DDE)、网络编程和数据库编程等内容作了系统阐述。 本书结构清晰、内容全面,全书在文字叙述上注重实用,突出抽象概念和具体技术的实质,并根据需要提供了许多程序实例(已录入在所附磁盘内),...

    Thinking in Java(4th_en)_8

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_4

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_7

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_6

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_5

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_3

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java第三版+第四版

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

    Thinking in Java(4th_en)_1

    本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过...

Global site tag (gtag.js) - Google Analytics