dahuatttt 2011-05-12 22:32
浏览 234
已采纳

ADT思想下,怎样处理一些数据问题

类应该只暴露和这个类的目的几乎完全一致的接口。但是这个类对象的数据可能需要检验 或 需要和别的东西交换数据。比如从数据库获得数据,写入数据库等操作。怎样才能在不破坏类抽象的情况下处理这些问题?
比如代码大全2.p138中描述的一个设计有缺陷的类:
[code="java"]class Emploryee {
public:
...
FullName GetName() const;
PhoneNumber GetWorkPhone() const;

bool IsZipCodeValid(Address address);
SqlQuery GetQueryToCreateNewEmployee();

private:
...
}[/code]

  • 写回答

4条回答 默认 最新

  • tangpython 2011-05-13 18:52
    关注

    我现在能想到的方案:
    定义一个基类(或虚基类),这个类定义些通用的操作,比如,取得数据库的连接,关闭数据库连接等;派生一个处理具体类型的类型的数据库类,该类的方法针对特定的类型操作,比如取得员工的方法public Employee getEmloyee()等操作;而Employee类则简单定义存取方法,因为大部分与数据库的操作由上面的派生类处理了。
    这样的结构可以复用一下代码,Employee类和数据库操作的类的耦合度相对小点

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 请教一下c语言的代码里有一个地方不懂
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了