技巧 7: 将代码封装在 COM 对象中 将代码封装在 COM 对象中还有一些优点(除性能之外): COM 对象有利于将表示逻辑与业务逻辑分开。 有关在 ASP 中使用 COM 的优点和缺点的详细讨论,参见 ASP Component Guidelines and Programming Distributed Applications with and Microsoft Visual Basic 6.0。如果您部署 COM 组件,以负荷对它们进行测试特别重要。事实上,理所当然应对所有的 ASP 应用程序进行负荷测试。
如果您有许多 VBScript 或 JScript,您可以经常将代码移到编译的 COM 对象中,从而可改善性能。编译的代码通常比解释的代码运行得更快。编译的 COM 对象可以通过“早绑定”访问其它 COM 对象,与脚本使用的“晚绑定”相比,“早绑定”是调用 COM 对象的更有效方法。
COM 对象可以保证代码重复使用。
许多开发人员发现以 VB、C++ 或 Visual J++ 编写的代码比 ASP 更容易调试。
COM 对象也有缺点,包括初始开发时间和需要不同的程序设计技巧。注意封装少量的 ASP 可能引起性能下降,而不会得到性能改进。这种情况通常在少量的 ASP 代码被封装进 COM 对象时发生。在这种情况下,创建和调用 COM 对象的系统开销超过了编译的代码的优点。应反复地试验,以确定什么样的 ASP 脚本和 COM 对象代码的组合产生最好的性能。注意,与 Microsoft Windows NT® 4.0/IIS 4.0 相比,Windows 2000/IIS 5.0 中在脚本和 ADO 性能方面有了很大的改进。因此,随着 IIS 5.0 的推出,编译代码比 ASP 代码的性能优势有所降低。
