1.abstract class 抽象类
定义了一个接口,把部分或全部实现留给了子类,不能实例化。

2.abstract coupling  抽象耦合
如果一个类A引用了另一个抽象类B,那么就说A是抽象耦合于B。

3.abstract operation

定义了方法签名但是没有具体实现。

4.acquaintance relationship
如果类A引用了类B,就说类A了解类B。

5.aggregate object

如果一个对象由其他子对象组成。那么就说这个对象是聚合对象。

6.aggregate relationship

聚合对象和它的子对象们的关系,聚合类定义了这种关系。

7.black-box reuse

一种基于聚合关系的重用方式。各子类之间不会知道彼此的细节。

8.class

定义了一个对象的接口和实现。规定了这个对象的内部数据和操作。

9.coupling

组件之间的相互依赖关系。

10.delegation

一个对象委托另一个对象去处理请求。目标对象代表源对象执行操作。

11.dynamic binding

运行时确定请求的对象和它的方法。

12.framework

针对某个软件类型的可重用的设计,由一套事先设计好的类组成,规定了他们的接口和关系。开发者通过子类或聚合方式来实现具体的应用功能。

13.friend class

类A拥有对自己的数据和操作的访问权限,如果类B对类A的数据和操作也拥有相同的权限,就说类B是类A的朋友类。

14.metaclass

在Smalltalk里,类是对象。metaclass是一个类对象的类。

15.mixin class

一个类为了和其他类组合使用的类。mixin 类通常是抽象的。

16.protocal

对接口的扩展,还包括允许的请求序列。

17.subsystem

一组类共同完成一些责任。

18.toolkit

一组提供实用功能的类,但是不体现应用的设计模式。

19.white-box reuse

一种基于类继承关系的重用方式。子类重用父类的接口和实现,也可以访问父类的非私有成员。

GOF学习笔记1:术语的更多相关文章

  1. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  2. C++学习笔记31:术语翻译

    reference:引用 dereference:引领,好于"解引用" type:型式,好于"类型" int:整数型式,简称整型 class:类型式,简称类型 ...

  3. 【转载】【时序约束学习笔记1】Vivado入门与提高--第12讲 时序分析中的基本概念和术语

    时序分析中的基本概念和术语 Basic concept and Terminology of Timing Analysis 原文标题及网址: [时序约束学习笔记1]Vivado入门与提高--第12讲 ...

  4. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  5. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  6. RAC学习笔记

    RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾. 在学习Re ...

  7. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  8. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  9. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

随机推荐

  1. Nexus3.X忘记admin密码找回

    一.问题背景 nexus3 这种东西,传完一次,很少动了,很容易忘记密码,不要急有方法找回. 官方网站关于解决该问题的方法: https://support.sonatype.com/hc/en-us ...

  2. linux内核在哪里处理设备树中compatible为"syscon"的节点?

    答: linux内核源码drivers/mfd/syscon.c中的of_syscon_register()接口对regmap_config进行初始化 注: linux内核源码版本为5.1.0

  3. Cannot find module 'laravel-elixir'问题解决方法

    在用gulp 安装elixir的时候报了这样的错误: Laravel elixir npm error Cannot find module 'laravel-elixir/ingredients/c ...

  4. 【转载】 【Tensorflow】卷积神经网络中strides的参数

    原文地址: https://blog.csdn.net/TwT520Ly/article/details/79540251 http://blog.csdn.net/TwT520Ly -------- ...

  5. 微信小程序与Html交互

    微信小程序与H5页面交互 https://www.jianshu.com/p/22e951d83841

  6. Python环境的导入导出

    有很多情况下,需要做Python环境的迁移,比如在本地开发环境搭建了某套架构,并安装了需要依赖模块,那么就需要将原有的环境导出到目的机器上,可以使用pip freeze导出. 导出环境,在开发机器上设 ...

  7. 常用OID(SNMP)

    系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 s ...

  8. easymock的用法

    常用场景 几个值随机取1个 "f08|1": ["有", "没有", "不知道"], 轮训抽一个 "f08|+ ...

  9. [ kvm ] 学习笔记 7:KVM 虚拟机创建的几种方式

    通过对 qemu-kvm.libvirt 的学习,总结三种创建虚拟机的方式: (1)通过 qemu-kvm 创建 (2)通过 virt-install 创建 (3)通过 virt-manager 创建 ...

  10. redis添加到linux系统服务

    http://blog.csdn.net/justfor3l/article/details/53187795