什么是对象?——摘自《设计模式精解》(熊节 译,清华大学出版社,2004.12,P20)...
2019独角兽企业重金招聘Python工程师标准>>>
Martin Fowler描述了软件开发过程中的三个不同的视角(perspective)
视角1 —— 概念(conceptual)
这个视角“展现了问题领域中的概念……一个概念模型可以在对实现软件有很少或毫不知情的情况下画出…”
视角2 —— 规格(specification)
“现在我们看看软件,但我们只看软件的接口,而不看实现。”
视角3 —— 实现(implementation)
现在,我们置身于代码本身。“这可能是最常用的视角,但在许多方面,规格视角经常是更好的视角。”
从Flower的视角框架来观察对象:
- 从概念层次来看,一个对象是一系列责任;
- 从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;
- 从实现层次来看,一个对象是一些代码和数据;
什么是对象?
- 定义1:拥有方法的数据;(具有局限性)
- 定义2:对象是“拥有责任的某种东西”,对象应该对自己负责,并且这种责任应该被清楚地定义出来;
转载于:https://my.oschina.net/zenglingfan/blog/61349
什么是对象?——摘自《设计模式精解》(熊节 译,清华大学出版社,2004.12,P20)...相关推荐
- GOF23种设计模式精解
创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton( ...
- JavaScript 编程精解 中文第三版 六、对象的秘密
六.对象的秘密 原文:The Secret Life of Objects 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 ...
- JVM内存管理------垃圾搜集器精解
转载自 JVM内存管理------垃圾搜集器精解 引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合.本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力 ...
- Android开发面试:架构设计和网络知识答案精解
目录 架构设计 编程思想 六大设计原则 重构-Code Smell AOP 设计模式 创建型5个 行为型11个 结构型7个 编程范式 MVC MVP MVVM MVI 模块化 组件化 插件化.热修复 ...
- JavaScript 编程精解 中文第三版 零、前言
零.前言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> We think ...
- 项目实践精解:ASP.NET应用开发
前 言 作者从事软件设计开发工作十多年,最近才萌发了写书的想法.因为作者希望推广一种最有效的学习捷径,这就是Project-Driven Training,也就是用项目实践来带动理论学习的方法.基于此 ...
- 项目实践精解:C#核心技术应用开发
前 言 学习任何技术都要从基础开始,这本书就是讲解C#核心技术的基础教材.读者如果简单调研一下就不难发现,市面上最多的就是这类C#基础类教材.那么,我们还有没有必要再多写一本没有特色.枯燥乏味的书呢? ...
- JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)
转载自 JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...
- JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)
转载自 JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑 ...
最新文章
- 专家点评Nat Micro | 朱永群组首次发现特异地切割线性泛素链的全新去泛素化酶...
- 谷歌要用AI把你的自拍做成表情包
- 在C#中使用SqlDbType.Xml类型参数
- php ci model条件查询,Laravel关系模型指定条件查询方法
- sql空字符串判断函数_access常用的内置函数
- 华为云DevCloud为虚拟仿真插上互联网的翅膀
- 多线程的那点儿事(之多线程调试)
- 设计模式-关于模式的一些很基本的知识点
- 计算机专业必看电影,IT人士必看的10部电影
- 基于JDK1.8的JVM 内存结构【JVM篇三】
- Linux服务器查看Ip地址
- QQ空间FLASH代码及其使用方法
- 伽卡他卡使用教程_伽卡他卡电子教室安装使用和常见问题
- 车辆识别码VIN校验位计算方法及实现 VIN号检验、车架号检验 java、 C++
- 绝地求生一直崩溃的异常解决
- Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown
- 错误代码: SEC_ERROR_REUSED_ISSUER_AND_SERIAL(解决办法)
- 走访最没存在感的省份之一,经济仍有潜力
- c语言json结构体_C语言:json库使用学习
- 指针数组和数组指针区别
热门文章
- python mac os安装教程_教程:在 Mac OS X 上安装 TensorFlow
- python nan_python [吐槽]关于nan类型时遇到的问题
- vlan跨交换机 udp广播_划分VLAN和接二级路由都能阻止广播风暴?两者有什么区别?...
- php5.4 session配置,Session
- mysql 只读账号_MySql主从复制,从原理到实践!
- 与ai计算机专业大学排名,全球大学计算机科学与人工智能排名:卡耐基梅隆大学居首...
- linux比较两个文件md5,linux下如何批量比对两个文件的MD5值是否一致,SHA1是否一致。...
- 关于jboss在jdk6下webservice不正常问题的解决
- webService学习2:hello word入门
- STRUTS模拟试题