在 UNIX 操作系统上优化 N 层 J2EE 应用程序(2)

面向 n 层应用程序的编码标准的最佳实践

优秀的应用程序设计和编码实践是实现高性能、可维护的应用程序的基础。对应用程序组件采用模块化设计并理解组件之间的交互,将简化性能问题的调试、测试、跟踪和应用程序更新。

后面的小节将着重介绍一些面向 n 层应用程序的标准的最佳设计和编码实践。以下用于实现优秀 n 层应用程序设计的 “五大规则” 将为基于 Web 的应用程序提供一个坚实的基础,但是在处理遭遇性能和可靠性问题的现有 n 层应用程序时可能不太管用。分析并优化 n 层应用程序 这一节将讨论对现有应用程序进行检查并提升其性能的各种方法。

尽量使用 MVC 方法

面向应用程序设计的模型-视图-控制器(Model-View-Controller,MVC)框架最早出现于 20 世纪 80 年代,时至今日,它仍然是一种十分有用的框架。除了协调应用程序的表示(视图)和业务逻辑(模型)外,还将这两者分离开来,并始终坚持这种分离,简化了设计、调试、测试和维护。

可测试性设计

高级的设计原则,比如 MVC 和模块化应用程序设计,将功能具体化为更加易于测试的代码,因为每个类和方法都实现一个具体的目的。在编写代码时,不需要在测试期间为了查看预期的优势而去掌握诸如敏捷编程、极限编程或测试优先设计等方法。在编写应用程序时,最简单也最有效的方法就是包含测试点,即挂钩(hook),因为这使测试点成为设计流程的一个健壮部分,而无需在事后将测试点接入到现有应用程序中。

安全性设计

安全性对于与业务有关的基于 Web 的应用程序至关重要。然而,由于安全性对于开发人员来说是个令人头痛的问题,因此安全性经常是在开发流程的后期添加或激活的。不管安全性是由 IBM? WebSphere? Application Server 之类的应用服务器提供,还是由某个外部服务提供,都应当在开发过程中支持安全性。性能影响和比较复杂的调试等常见问题常常被过分夸大,但是如果这些问题确实会对应用程序产生影响,那么最好在部署应用程序之前尽早了解到这一点。

构建日志记录功能

在实际实现应用程序组件时,每个组件的逻辑都比较陌生。诸如 Log4J 和 Java? 软件开发工具之类的开放框架不仅易于使用,而且很容易在编写代码时并入到其中。将日志和跟踪功能集成到应用程序中,不仅可以简化调试,同时可以使其他人在完成部署后更加方便地监视和调试应用程序。

日志记录的一个缺点就是,每次记录日志都需要执行 I/O,这将降低应用程序的性能。Log4J 之类的软件包(参见 参考资料)提供了不同级别的日志记录来最小化 I/O。您可以使用 API 调用(比如 Log4J 的 org.apache.log4j.PropertyConfigurator.configureAndWatch() 方法)监视额外的属性文件,可以使用这些文件动态激活不同日志记录级别,或是禁用运行中的应用程序的日志记录功能。

避免混淆

与复杂的、经过大量优化的代码相比,易于理解的简单代码更加易于调试、优化和维护。现在很少需要哄骗您的 Java Virtual Machine (JVM) 或其编译器。针对具体环境或平台进行优化的代码可能不适用于其他情况,并且常常难以扩展现有的功能。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwppdf.html