首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设计Java应用程序?

如何设计Java应用程序?
EN

Stack Overflow用户
提问于 2010-07-09 22:34:54
回答 9查看 44.6K关注 0票数 23

在设计从简单控制台应用到J2EE应用的Java应用程序时,需要牢记的一般指导原则和最佳实践是什么?

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

现在我可以轻而易举地编写Java代码,但对应用程序设计不是很有把握。这是我的主要问题:“设计”应用程序。假设我给出了一个用Java创建应用程序的任务,我应该从什么开始呢?如何思考?在开发类层次结构时,我应该遵循什么正式/非正式的指导原则?我真的很困惑(抽象类或接口或子类..?)。在写代码之前,我应该从建模开始吗?

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

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

斯科特,提前谢谢你

EN

回答 9

Stack Overflow用户

发布于 2010-07-09 22:38:30

很难给出真正通用的建议,因为在不同的领域上有这么多不同的Java应用程序。然而,有一本书绝对值得推荐,那就是Eric Evans的Domain Driven Design。有关它的简短介绍,请参阅Wikipedia

一般建议:

  • don't尝试预先设计每件事-做一个相当好的设计,使你能够开始编码,然后随着你对问题领域的理解和实现的深化而重构
  • 尝试将困难的问题分成更小的部分/步骤/模块,你可以逐一解决这些部分
  • 尝试根据具有明确定义的职责的对象来思考,这些(或多或少)建模问题域并协作解决问题/处理task
  • becoming擅长设计需要练习,首先也是最重要的;不要害怕犯错误。但是,当您这样做时,要尽可能多地分析它们并从中学习,但不要过于热衷于使用它们-只有当它们真正解决了问题并使您的代码更简洁时才使用它们
票数 14
EN

Stack Overflow用户

发布于 2010-07-09 23:56:09

在我看来,这一切都归结为满足以下要求

易于维护的

  1. 和能够为项目做出贡献的开发人员(主要是并行的)

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

在层内和层与层之间遵循layered architecture

  • Follow
  1. 。所有的设计模式都只能通过某种方式来帮助实现这些原则。SRP:单一责任原则,OCP:开放封闭原则,LSP:利斯科夫替代原则,ISP:接口隔离原则,DIP:依赖反转Principle
  2. DRY和KISS原则

这些准则和原则独立于任何编程范例或语言。然而,OOP语言有助于更容易地实现这些。

票数 5
EN

Stack Overflow用户

发布于 2010-07-09 22:49:36

有多种范例(通常是3个字母的缩写):

  • DDD :领域驱动设计
  • SDD:服务驱动设计

UML MDA:模型驱动架构(代码和架构从

  • 模型中提取)
  • TDD:测试驱动开发(验证测试在应用程序之前实现)

<代码>F29

有了这些关键词,你会在网上找到很多信息。

在J2EE中,我会说SDD是最常用的(它现在非常“规范化”,即使我不确定它是不是最好的解决方案):服务(软件“智能”)>域(用于持久化的bean对象)> DAO (持久化)。

现在DDD正变得越来越多地被使用:它的概念被重新聚焦于领域对象,领域对象处于“软件智能”层。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3213617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档