您是否可以提供当今应用程序的示例,这些应用程序是程序性的并且保持高度的完整性和效率?是否有任何书籍,教程或链接提供了如何成功构建和维护命令系统的示例?如果你在这个领域给出指导,你会给出如何构建它的提示?我问,因为OOP通常表现为程序编程的自然进展,但我很难相信总是如此。
答案 0 :(得分:6)
成功的程序性应用程序的例子??
你的意思是,比如Linux内核? BSD内核? Apache Web服务器?大量的Unix用户区实用程序?类似的应用程序?
当然,OOP技术在软件中的组织,可维护性和抽象方面具有价值,但即使在今天,OOP也可能是当今所有代码和应用程序的少数几个子集。
考虑所有使用OOP编程语言编写的Java或C#或VB代码,他们使用大量OOP技术的唯一原因是与外部库或系统进行交互。同时,应用程序本身在利用OOP框架的同时,在设计和实现方面可能非常具有程序性。
OOP是一个很好的范例,但事实上,对于许多系统中的大量逻辑来说,它并不是必需的。
答案 1 :(得分:0)
虽然我无法直接指向任何现有系统,但仍有大量旧版企业系统在OO COBOL之前编写。许多经典的4GL程序都是程序性的,旨在实现高完整性系统工程。有些写得很好,有些则写得不多。
书籍包括“从微型到大型机的COBOL”,“企业COBOL编程指南”。
关于良好命令式代码的结构提示与OO技术类似:命名好,分开你的顾虑,不要重复自己,单一责任原则,不要破坏破窗户。
事实上,我只是建议阅读“实用程序员”会给大多数人在任何范例中提出正确的想法。
至于面向业务的应用程序转向OO的一个令人信服的理由;过程语言允许transaction script域逻辑方法,而OO语言允许domain model方法。
当然,对于简单的练习,并不需要使用OO语言,但是一旦复杂性增加,OO语言的可维护性就会胜过程序语言的低开销。