如何设计Java应用程序?[已关闭]

2022-09-01 20:57:37

在设计 Java 应用程序 [从简单的控制台应用程序到 J2EE 应用程序] 时要记住的一般准则和最佳实践是什么?

你好

我最近从Sun完成了Java编程教程,并练习了核心java(我以前有编程经验)。现在我了解了继承,抽象,多态性,封装的基础知识

现在我正在编写Java代码,没有太多困难,但我不确定应用程序设计。这是我的主要问题:“设计”应用程序。比如说,如果我给了一个任务来用Java创建一个应用程序,我应该用什么来启动?怎么想?在开发类层次结构时,我应该遵循哪些正式/非正式的准则?我真的很困惑(抽象类或接口或子类..?)。在编写代码之前,我应该从建模所有内容开始吗?

对于像我这样的人来说,拥有一套通用指南/最佳实践将非常有用,我们可以在开始开发新的Java应用程序时遵循这些指南/最佳实践。

请为我提供一些指南/想法/书籍/资源/工具,我应该阅读或使用

提前感谢斯科特


答案 1

很难给出真正一般性的建议,因为在不同的域上有许多不同的Java应用程序。然而,一本绝对推荐的书是Eric Evans的《Domain Driven Design》。另请参阅维基百科以获取简短的介绍。

一般建议:

  • 不要试图预先设计所有内容 - 做一个相当好的设计,使您能够开始编码,然后随着您对问题域和实现的理解加深而重构
  • 尝试将难题划分为较小的零件/步骤/模块,您可以逐个解决
  • 尝试从具有明确定义的责任的对象的角度进行思考,这些对象(或多或少)对问题域进行建模,并合作解决问题/处理任务
  • 擅长设计首先需要实践;不要害怕犯错误。但是,当您这样做时,请分析它们并尽可能多地从中学习
  • 学习设计模式,但不要过于热心 - 只有当它们真正解决问题并使代码更清晰时才使用它们

答案 2

在我看来,这一切都归结为满足以下几点。

  1. 易于理解
  2. 易于维护和改进
  3. 能够为项目做出贡献的多个开发人员(主要是并行的)

为了实现上述目标,专家根据经验提出了一些指导方针和原则,这些指导方针和原则是

  1. 遵循分层架构
  2. 在层内和跨层遵循 SOLID 原则。所有设计模式都是一种或另一种方式,仅有助于实现这些原则。SRP:单一责任原则,OCP:开放封闭原则,LSP:里氏替换原则,ISP:接口隔离原则,DIP:依赖性反转原则
  3. 干燥和亲吻原则

这些准则和原则独立于任何编程范式或语言。但是,OOP 语言有助于更轻松地实现这些功能。


推荐