转换器的最佳实践

时间:2011-03-12 21:38:22

标签: c# html design-patterns pdf

在创建基于C#的文件从一种格式转换为另一种格式的组件时,您可以建议哪些最佳实践和设计模式?例如PDF到HTML或Word到HTML。

1 个答案:

答案 0 :(得分:3)

不要使用文件。将基本流引用作为输入/输出,这样您就可以从任何地方引入数据并将其写在任何地方(文件,数据库,网络连接,内存等)。

如果你希望你有可能想要进行多种格式转换(根据我的经验,大多数软件在范围内增长,通常在它发布之前,但通常在发布后不久),设计可扩展内部表示,支持当前重要/相关的其他格式的所有功能,并使用应用双重转换的管道方法(PDF - > MyFormat,然后是MyFormat - > HTML)。这样,当你决定你也希望从Word转换时,你只需要写一个Word - >实现Word的MyFormat转换 - > HTML。首先实现这一点的成本非常低,并且可以为您添加支持的每个连续格式提供稳健性和实施成本的巨大收益。

尝试编写灵活的代码(考虑将来格式可能会如何变化)。当下一个PDF或Word或HTML格式出现时,您能够轻松升级代码以支持已引入的任何更改吗? (通过这个,我的意思是,尽量不要在转换中加入任意限制,就像假设因为当前格式只允许使用256种字体,你可以使用一个字节来存储字体索引 - 留出一点空间扩张)

从第一天开始在设计中构建进度报告系统,因此在转换过程中很容易显示进度条。并确保您的设计不会妨碍批量处理数百个文件,即使这就是您现在所需的全部内容。

将转换代码与驱动它的应用程序完全分开;确保业务逻辑(转换)完全脱离任何UI。转换应该是完全独立的可重用模块,并且能够在没有用户交互的批处理模式下运行。