ash*_*ram 53 java architecture java-ee
我是Java开发人员,在Struts,Spring和Hibernate方面有近5年的经验.
我们将在几天内推出一个新项目.我们有完整的要求,我们将使用Spring MVC,Spring和Hibernate来完成这个项目.
我被要求设计和构建整个Web应用程序.设计和创建建筑师是我职业生涯迄今尚未完成的事情.我不知道如何解决这个问题,从哪里开始,使用什么工具等等.我甚至不知道A,B,C的设计和架构.
您可能想知道为什么我甚至在第一时间要求这样做.事情是我有机会这样做,在每个阶段我都会受到监控,我会让我的老人回顾设计.
因此欢迎任何建议,想法和步骤开始和继续.
kda*_*bir 123
我可以从我自己的经验中加上我的2美分(尽管它更多地是开发最佳实践的汇编,您可能会发现在设计应用程序时记住它们很有用):
Spi*_*idy 13
您需要为架构设计文档提供一些内容.这不是一件容易的事,而是抓住机会的道具.由于这是一个非常大的问题,希望这些链接可以帮助您入门,并且您可以在弄湿问题后改进问题.
方法
您使用的方法将影响您首先执行的任务.瀑布是一种流行但过时的方法.一种更新的方法是敏捷,有几个面孔.我最喜欢Scrum Agile用于开发任何规模的软件.
图
图表是表示整个系统和单个组件的最强大的方法之一.您创建的图表类型取决于系统.通常有结构图,行为图,交互图和其他数量.这些图表显示了整个系统的各个部分,每个组件的物理布局和/或逻辑布局,通信流程,程序流程等.
文档
文档就像声音,文档和文档一样,包含项目描述,范围,用户案例,序列图以及描述项目或项目各个部分的任何其他文档.
看看罗伯特·马丁(又名鲍勃叔叔)的清洁架构。这是一个快速概述。使用这种方法,您将能够将Spring 或 Hibernate 等细节推迟到稍后的时间,并更多地关注业务逻辑。或者甚至从 Spring 迁移到 Java EE,而无需触及您的业务和应用程序逻辑。您还将获得一个符合 SOLID 原则的可测试应用程序,而无需太多额外的工作。
我刚刚以这种方式创建了一个应用程序,我必须说我对此非常满意。我可以轻松地将其移植到桌面或移动应用程序,或者更换存储模块。取决于政策的细节有很大帮助。它还促进以 API 方式进行思考,并且如果正确应用,可以使您的模块非常可重用。
Martin 甚至表示像框架这样的细节很烦人,而且不是架构的一部分。我确实认为它们属于建筑,但只是处于不同的层次。很多时候,您确实希望在早期阶段包含框架,以便能够生成一小部分工作应用程序来向用户演示。或者当你提前知道你的框架并且没有关于它们的讨论时,就像我的例子一样。但是您可以将其视为单独的软件架构,当组合在一起时创建您的应用程序架构。
| 归档时间: |
|
| 查看次数: |
77057 次 |
| 最近记录: |