在创建基于C#将文件从一种格式转换为另一种格式的组件时,您可以建议哪些最佳实践和设计模式?例如PDF转HTML或Word转HTML。
发布于 2011-03-13 06:31:37
不要使用文件。将基本流引用作为输入/输出,这样您就可以从任何地方引入数据,并将其写入任何地方(文件、数据库、网络连接、内存等)。
如果您期望有任何机会进行多个格式转换(在我的经验中,大多数软件的范围不断扩大是很常见的,通常在发布之前,但通常在发布后不久),设计一个可扩展的内部表示,支持当前对您重要/相关的其他格式的所有功能,并使用应用双重转换的管道方法( -> MyFormat和MyFormat -> HTML)。这样,当您决定您也希望从Word转换,您只需编写一个Word -> MyFormat转换,以实现Word -> HTML。首先,这可能只需要很少的实现成本,并且可以为您添加支持的每个后续格式在健壮性和实现成本方面带来巨大的收益。
尝试编写灵活的代码(考虑格式将来可能会发生什么变化)。当下一个PDF、Word或HTML格式出现时,升级代码以支持已引入的任何更改的难度有多大?(我的意思是,尽量不要在转换中设置任意的限制,比如假设因为当前的格式只允许使用256种字体,所以可以使用一个字节来存储字体索引--为扩展留出一点空间)
从第一天开始就在设计中构建一个进度报告系统,以便在转换过程中很容易显示进度条。并确保您的设计不排除一次性批处理数百个文件,即使这是您现在所需的全部。
保持转换代码与驱动它的应用程序完全分离;确保业务逻辑(转换)与任何UI完全分离。转换应该是完全独立的、可重用的模块,并且能够在没有用户交互的批处理模式下运行。
https://stackoverflow.com/questions/5285671
复制相似问题