2019独角兽企业重金招聘Python工程师标准>>>

Martin Fowler描述了软件开发过程中的三个不同的视角(perspective)

视角1 —— 概念(conceptual)
      这个视角“展现了问题领域中的概念……一个概念模型可以在对实现软件有很少或毫不知情的情况下画出…”

视角2 —— 规格(specification)

“现在我们看看软件,但我们只看软件的接口,而不看实现。”

视角3 —— 实现(implementation)

现在,我们置身于代码本身。“这可能是最常用的视角,但在许多方面,规格视角经常是更好的视角。”

从Flower的视角框架来观察对象:

  • 概念层次来看,一个对象是一系列责任;
  • 规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;
  • 实现层次来看,一个对象是一些代码和数据;

什么是对象?

  • 定义1:拥有方法的数据;(具有局限性)
  • 定义2:对象是“拥有责任的某种东西”,对象应该对自己负责,并且这种责任应该被清楚地定义出来;

转载于:https://my.oschina.net/zenglingfan/blog/61349

什么是对象?——摘自《设计模式精解》(熊节 译,清华大学出版社,2004.12,P20)...相关推荐

  1. GOF23种设计模式精解

    创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton( ...

  2. JavaScript 编程精解 中文第三版 六、对象的秘密

    六.对象的秘密 原文:The Secret Life of Objects 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 ...

  3. JVM内存管理------垃圾搜集器精解

    转载自   JVM内存管理------垃圾搜集器精解 引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合.本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力 ...

  4. Android开发面试:架构设计和网络知识答案精解

    目录 架构设计 编程思想 六大设计原则 重构-Code Smell AOP 设计模式 创建型5个 行为型11个 结构型7个 编程范式 MVC MVP MVVM MVI 模块化 组件化 插件化.热修复 ...

  5. JavaScript 编程精解 中文第三版 零、前言

    零.前言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> We think ...

  6. 项目实践精解:ASP.NET应用开发

    前 言 作者从事软件设计开发工作十多年,最近才萌发了写书的想法.因为作者希望推广一种最有效的学习捷径,这就是Project-Driven Training,也就是用项目实践来带动理论学习的方法.基于此 ...

  7. 项目实践精解:C#核心技术应用开发

    前 言 学习任何技术都要从基础开始,这本书就是讲解C#核心技术的基础教材.读者如果简单调研一下就不难发现,市面上最多的就是这类C#基础类教材.那么,我们还有没有必要再多写一本没有特色.枯燥乏味的书呢? ...

  8. JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)

    转载自   JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...

  9. JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)

    转载自  JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑 ...

最新文章

  1. 专家点评Nat Micro | 朱永群组首次发现特异地切割线性泛素链的全新去泛素化酶...
  2. 谷歌要用AI把你的自拍做成表情包
  3. 在C#中使用SqlDbType.Xml类型参数
  4. php ci model条件查询,Laravel关系模型指定条件查询方法
  5. sql空字符串判断函数_access常用的内置函数
  6. 华为云DevCloud为虚拟仿真插上互联网的翅膀
  7. 多线程的那点儿事(之多线程调试)
  8. 设计模式-关于模式的一些很基本的知识点
  9. 计算机专业必看电影,IT人士必看的10部电影
  10. 基于JDK1.8的JVM 内存结构【JVM篇三】
  11. Linux服务器查看Ip地址
  12. QQ空间FLASH代码及其使用方法
  13. 伽卡他卡使用教程_伽卡他卡电子教室安装使用和常见问题
  14. 车辆识别码VIN校验位计算方法及实现  VIN号检验、车架号检验 java、 C++
  15. 绝地求生一直崩溃的异常解决
  16. Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown
  17. 错误代码: SEC_ERROR_REUSED_ISSUER_AND_SERIAL(解决办法)
  18. 走访最没存在感的省份之一,经济仍有潜力
  19. c语言json结构体_C语言:json库使用学习
  20. 指针数组和数组指针区别

热门文章

  1. python mac os安装教程_教程:在 Mac OS X 上安装 TensorFlow
  2. python nan_python [吐槽]关于nan类型时遇到的问题
  3. vlan跨交换机 udp广播_划分VLAN和接二级路由都能阻止广播风暴?两者有什么区别?...
  4. php5.4 session配置,Session
  5. mysql 只读账号_MySql主从复制,从原理到实践!
  6. 与ai计算机专业大学排名,全球大学计算机科学与人工智能排名:卡耐基梅隆大学居首...
  7. linux比较两个文件md5,linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致。...
  8. 关于jboss在jdk6下webservice不正常问题的解决
  9. webService学习2:hello word入门
  10. STRUTS模拟试题