关于封装的设计

原创 2004年08月16日 08:59:00
徐晶
2004-7-8

----
封装的概念经常在软件开发过程中遇到,这个概念似乎比较空旷,找不到一个准确的定义,而且不同的文章所涉及的点均不同。 其实就大的方面而言共有两种层次的封装:1.技术封装 2.业务(也称为软件功能)封装。
----先说说技术封装:它是最最常见的,总是为了实现一个特定的技术问题而把一些实现细节给封装到一个函数中。举个例子: 数据库程序里经常用到的一个小功能就是把数据库表的一个字段的纪录放在下拉框中,如图中把公司表的缩写字段放在一个下拉框中,对于这个简单的功能可以封装在一个小的函数中来实现,只要告诉这个函数几个条件就可以了 1.要从那张表来提取数据2.该表中的字段名3.要在哪个下拉控件中显示,故可以定义这样的函数 GetCombolValue(string TableName,string FieldName,ComboBox cboName) 。
----然而该函数只是对常见的技术动作做了一个简单的封装,没有涉及到应用方面,好像一个简单的工具做好了放在那里,当用这些工具再去构建很大的系统时便会出现很繁琐的问题。比如说现在有一个系统:共有5大模块,每一个模块都要导入采购数据,如果分别为各模块书写函数的话将很繁琐,因此可以考虑将导入采购数据这个"业务"封装起来,这一层的封装比刚才说到的技术封装又高一层次,该层次是通过调用技术封装好的各个函数组合成的具有独立功能意义的功能块
----现在一个个独立的功能块已经实现了,但是又会遇到这样的问题。 假如系统分为采购,库存,财务等等8个模块,那时候的功能块将变得非常的缭乱,这时候还需要按照模块来组织这些小的功能块。如此一个初步的业务封装便形成了。比如可以把各个和采购有关的操作封装在类Purchase中,其中的一个功能导入采购数据可以作为Purchase的一个方法(子函数)。这样结构就清晰了。
----封装的设计过程中有许多的原则,最基本的一个原则就是功能的独立性,一个独立的子功能的实现只能实现一次。 举个例子:数据库程序中一般会有一个全局的连接字符串,这个字符串的拼凑牵涉到具体的数据库, 不同的数据库格式不同,对于这种细节只需要放在一个函数中实现就可以了,没必要在每次用到的时候再去拼凑。

Fragment基类,Activity基类

这两天看了黑马程序员《xinwein
  • yersterday
  • yersterday
  • 2014-09-12 09:35:23
  • 2221

以下关于java封装的描述中,正确的是:(牛客网)

以下关于java封装的描述中,正确的是: 正确答案:A  你的答案:A(正确) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 封装的意义不大,因此在编码中尽量不要使用 ...
  • fascinatingGirl
  • fascinatingGirl
  • 2016-09-05 10:35:28
  • 2475

RJ45连接器封装

  • 2012年12月17日 14:48
  • 22KB
  • 下载

汽车租赁系统

  • 2012年03月23日 14:00
  • 3KB
  • 下载

IPC标准封装命名规范7351系列

  • 2015年11月21日 17:16
  • 199KB
  • 下载

封装console.log

封装console.log
  • Wangdanting123
  • Wangdanting123
  • 2016-06-29 18:45:22
  • 1210

Cadence系统级封装设计 Allegro Sip APD设计指南

  • 2015年12月08日 17:43
  • 37.27MB
  • 下载

java-面向对象编程-三大特性之封装

我们在上一章中谈到了面向对象编程的三大特性之一的继承。并且说到在继承中,父类其实是从子类中抽象出来的,而在这里所说的抽象,就可以理解为数据封装的一种表达方式。而准确来说,所谓的封装,就是在人为对客观事...
  • dengminghli
  • dengminghli
  • 2017-01-20 22:24:57
  • 1023

关于当前设计的问题

这段时间,由于应聘一个兼职每月8K的工作,不得不分析了下代码如何设计。而不能满足于以前的只实现模块的功能。 其实,模块的功能上,倒是没什么。感觉从全局的考虑上进行设计,真是个头疼的事情,或许要参考下卡...
  • directx3d_beginner
  • directx3d_beginner
  • 2016-02-23 15:26:00
  • 230

一文看懂IC芯片生产流程:从设计到制造与封装

origin: http://forum.esm-cn.com/FORUM_POST_1000163993_1201257744_0.HTM?_ga=1.101949507.338942905.143...
  • yazhouren
  • yazhouren
  • 2016-03-05 18:41:25
  • 10281
收藏助手
不良信息举报
您举报文章:关于封装的设计
举报原因:
原因补充:

(最多只允许输入30个字)