Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 处理两个类的方法的位置?_Oop_Design Patterns - Fatal编程技术网

Oop 处理两个类的方法的位置?

Oop 处理两个类的方法的位置?,oop,design-patterns,Oop,Design Patterns,我经常有一些方法需要知道两个类的结构。例如,一些可以写入类ExcelDoc的类表 将表格写入excel文档的方法需要了解两者的结构。两者都可以更改,甚至可能有多个实现Table1、Table2、Excel1、Excel2,它们都提供了一些基本接口 现在我可以实现 ExcelDoc.write_data(table) 或 或者我甚至可以上中级班 TableToExcel.write(excel, table) 或者我可以从课堂上得到 如果我想为未来的进一步开发和功能提供最佳设计,您认为什么是最

我经常有一些方法需要知道两个类的结构。例如,一些可以写入类ExcelDoc的类表

将表格写入excel文档的方法需要了解两者的结构。两者都可以更改,甚至可能有多个实现Table1、Table2、Excel1、Excel2,它们都提供了一些基本接口

现在我可以实现

ExcelDoc.write_data(table)

或者我甚至可以上中级班

TableToExcel.write(excel, table)
或者我可以从课堂上得到


如果我想为未来的进一步开发和功能提供最佳设计,您认为什么是最佳设计?

如果您可以以某种中间形式表示要编写的数据,那么您的两个类,即Excel和Table,都可以使用相同的表示形式。i、 e.Excel。写入数据(中间形式的数据)和表格。写入数据(中间形式的数据)

或者,Table和Excel有一个已知的用于读/写数据的接口,然后您可以在Table和Excel类中为彼此实现接口。要将数据从表中获取到Excel,您需要执行ExcelObject.import(dataFromTable)。有道理吗?(实现类似目标有很多重要的例子,对吗?)


Shash

如果您可以表示要以某种中间形式编写的数据,那么您的两个类(即Excel和Table)都可以使用相同的表示形式。i、 e.Excel。写入数据(中间形式的数据)和表格。写入数据(中间形式的数据)

或者,Table和Excel有一个已知的用于读/写数据的接口,然后您可以在Table和Excel类中为彼此实现接口。要将数据从表中获取到Excel,您需要执行ExcelObject.import(dataFromTable)。有道理吗?(实现类似目标有很多重要的例子,对吗?)


谢谢你的建议!我通过亲身体验来学习课堂设计。有什么渠道可以让我学习最佳实践吗?谢谢你的建议!我通过亲身体验来学习课堂设计。有什么渠道可以让我学习最佳实践吗?
TableToExcel.write(excel, table)