0

牛仔程序员需要一些 SO-veterans 的帮助:

我有一个给定的应用程序,它使用从文件中读取的书目(实际上,它可以是不同的文件,但我们假设只有一个文件)。

我构建了一个新的应用程序,它应该以与应用程序相同的方式使用参考书目,所以我复制了相应的类。

几天后,我开始运行 %-| ...

问题如下:

在 Bibliography 类中,有代码可以读取、编写和保存参考书目。当有一个类可以阅读参考书目和一个保存所有值的容器类时,我的工作会容易得多。我不想编写或编辑参考书目,只需将其读入并保留值。

那么我的想法是否正确,最好将参考书目类划分为 BibliographyReader、BibliographyWriter 和 Bibliography(Container) 类?

PS:有人可以创建一个标签“cowboy coder”、“cowboy coding”或类似的东西吗?我真的很想念这个标签;)

4

2 回答 2

4

我喜欢将“容器”类与读取器/写入器/获取器等分离的方法,最好由接口定义。搜索“策略模式”,您将找到更多相关信息。

一个简单的方法是让Bibliography类在其构造函数中接受一个IBibliographyReader,然后让一个类实现该接口。创建Bibliography类时,您将具体阅读器实现的实例传递给它。

于 2009-07-01T11:39:19.097 回答
0

我将责任划分如下:-

  • 参考书目:保存与参考书目相关的数据。它将在其构造函数中或通过 setter 接收此数据
  • BibliographyFileStreamReader:负责读取参考书目(给定一个文件流)。它返回一个参考书目实例

您还可以添加 BibliographyFileStreamWritter。

于 2011-02-22T06:29:46.860 回答