您能否提供当今程序化并保持高水平完整性和效率的应用程序示例?是否有任何书籍、教程或链接提供了如何成功构建和维护命令式系统的示例?如果您要在这方面提供指导,您会就如何构建它给出什么建议?我之所以这么问,是因为 OOP 通常表现为过程编程的自然发展,但我很难相信情况总是如此。
2 回答
成功的程序应用示例??
你的意思是,比如说,Linux 内核?BSD内核?阿帕奇网络服务器?大量的 Unix 用户空间实用程序?这样的应用?
当然,OOP 技术在软件中的组织、可维护性和抽象方面具有价值,但即使在今天,OOP 也可能只是当今编写的所有代码和应用程序的一小部分。
考虑使用支持 OOP 的编程语言编写的所有 Java、C# 或 VB 代码,它们使用大量 OOP 技术的唯一原因是与外部库或系统交互。同时,应用程序本身在利用 OOP 框架的同时,在设计和实现方面可能非常程序化。
OOP 是一个很好的范式,但实际上它对于许多系统中的大部分逻辑并不是真正必要的。
虽然我不能直接指向任何现有系统,但有大量在 OO COBOL 之前编写的遗留企业系统。许多经典的 4GL 程序都是程序性的,旨在实现高完整性的系统工程。有些写得很好,有些则不然。
书籍包括《COBOL 从微型机到大型机》、《企业 COBOL 编程指南》。
良好的命令式代码的结构提示类似于 OO 技术:正确命名、分离您的关注点、不要重复自己、单一责任原则、不要留下破损的窗口。
事实上,我只是建议阅读“实用程序员”会给大多数人在任何范式中的正确想法。
就面向业务的应用程序迁移到 OO 的一个令人信服的理由而言;过程语言允许对域逻辑使用事务脚本方法,而面向对象语言允许使用域模型方法。
当然,对于简单的练习,并没有真正需要使用 OO 语言,但是一旦复杂性上升,OO 语言的可维护性就会胜过过程语言的低开销。