抽象公共化,实现具体化
来源:互联网 发布:win10rar解压缩软件 编辑:程序博客网 时间:2024/06/18 03:48
有个内存管理模块对应用屏蔽了不同环境的内存差异,提供了统一的内存管理接口及机制。其内部层次大致如下:
facade ----------> 抽象实现 ------->具体的内存接口(根据实际运行内存管理配置)。
在三种实际环境中会用到某个库的内存申请释放操作,而这个第三方库的内存操作接口在两种环境下是一样的,在第三种环境下则是不同的,差异在某个接口的参数上。如内存申请的ID号,在前两种环境下的范围是0-100,而在第三种环境下却只有0-10。
开始开发时,没有区分这三种典型环境,而是采用了一种保守的值,三种环境统一使用同一套代码,都用ID为0的值。
因为0是默认ID,不能区分实际内存操作者,后来想把ID号修改为某个有含义的值,如50。问题来了,由于实现不够具体化,没有细化到不同环境上,导致只验证了前面两种,第三种没有验证,导致了问题。
如果实现具体化到了最终运行环境上,那么肯定可以知道有第三种环境需要验证。
即从下面这个结构:
facade ----------> 抽象实现 ------->具体的内存接口(根据实际运行内存管理配置)
变成如下这个结构:
facade ----------> 抽象实现 ------->具体的内存接口(根据实际运行环境内存管理配置)
具体的内存接口(根据实际运行环境 内存管理配置)
具体的内存接口(根据实际运行环境 内存管理配置)
- 抽象公共化,实现具体化
- 实例化和具体化
- 具体化
- 抽象和具体化案例讲解 如无必要,勿增实体,延迟具体化.v
- 实例化和具体化详解
- 剑指offer 算法 (举例让抽象具体化)
- 剑指offer 算法 (举例让抽象具体化)
- 模板的具体实现 ―― 模板的实例化(instantiation)或具体化(specialization)
- 模板的具体实现 ―― 模板的实例化(instantiation)或具体化(specialization)
- C++函数模板 模板实例化、具体化
- C++函数模板 模板实例化、具体化
- C++函数模板 模板实例化、具体化
- 模板的实例化和具体化
- C++函数模板 模板实例化、具体化
- C++函数模板 模板实例化、具体化
- C++函数模板 模板实例化、具体化
- 详谈模板实例化和具体化
- C++ 函数模板 实例化和具体化
- ATLWIN.H
- STATREG.H
- VC 获取USB设备的ID号
- 有时突然大脑失去所有程序思维
- 使用ListView控件动态显示Excel表中
- 抽象公共化,实现具体化
- 笔记本怎样查找mac地址
- Struts2配置文件
- 重载,重写,隐藏,覆盖
- 第二章 Spring的bean与传统的JavaBean
- Java-web防止重复提交、动态验证码
- java的基本语法
- JS 中 new 操作符
- 利用pdf2swf将PDF转换成SWF