企业应用程序开发框架的分类

如果您使用的是“最佳Java框架”,那么您很可能会迷失本文 ,它对Java Enterprise世界中的情况进行了很好的概述。 但是,从我的角度来看,它缺少一件非常重要的事情–对上述框架进行分类。

让我们看看这个生态系统的另一个角度,它超越了Java世界。

选择用于开发应用程序(或一组框架)的最佳框架,意味着尝试在以下条件之间寻求最佳平衡:

  1. 适用范围 –使用框架可以开发应用程序的哪一部分? 我需要一套框架还是一个框架?
  2. 开发速度 –开发将进行多快?
  3. 可管理性和灵活性 –架构,性能和其他限制是什么?

框架分类

将所提及的标准与每个类的参考框架集及其在一个图中的突出特征结合在一起,我得到以下结果:

构架

高级编程语言或“无框架”方法

这种“没有框架”的方法简直是简陋的案例,它提供了您所能获得的最广泛的适用范围以及最高的可管理性和灵活性。 显然,这是开发企业应用程序的最慢方法,因为您需要重新发明所有轮子。 通常,此级别用于构建框架,使开发速度提高一级。

狭窄的框架

该课程的代表人数最多。 所有这些都旨在通过提高抽象级别并为其领域提供清晰的API来简化特定区域内的开发。 捆绑ORM,中间件,UI,消息传递和其他类型的框架并不是一件容易的事,但是,在此类别中,您需要混合满意的开发速度和高度的灵活性。

代码生成器/聚合器

此类旨在加快应用程序开发的早期阶段。 实际上,它们基于窄框架来配置您的应用程序。 因此,以JHipster为例,它将使用基于Angular的用户界面生成基于Spring的应用程序。 在启动阶段之后,使用这些框架没有太多价值。

高级全栈框架

此类介绍了面向窄框架的下一个抽象级别。 因此,您已经拥有了完整的基础架构,可以更快地构建全面的企业应用程序。 以CUBA平台为例,它提供了用于构建3层应用程序的全栈体系结构,并包括企业应用程序广泛使用的常见功能,例如软删除,数据感知组件,文件存储以及高级模块:身份验证和授权,数据审核等。 该类最适合为企业部门开发类似ERP的系统,业务应用程序或定制软件。

低/无代码框架

在此阶段,您将完全失去对代码库的控制,仅在预定义的扩展点中开发少量逻辑。 因此,如果这样的框架在性能,部署选项,UI组件,集成等方面满足您的要求,这将是配置应用程序的最快方法。 但是,可能有一天您将无法克服体系结构限制。

摘要

在一组用于开发企业应用程序的框架中选择正确的框架,不仅是要在Internet上寻找“企业的最佳框架”,然后从列表的顶部进行选择。 首先,它是解决折衷问题,并找到适用范围,开发速度以及灵活性和可管理性满足您要求的正确组合。 解决后,您将可以专注于在正确的类中选择框架本身,检查另一套条件:例如,首选的编程语言,社区的规模,供应商支持的质量,成功的故事等等……

总而言之,我想提供一个表,其中包含框架类和典型应用程序,它们最适合。

典型应用
“无框架”方法
  • 狭窄的框架
  • 低级产品,例如内存网格,大数据处理算法,图像识别等。
狭窄的框架
  • 具有独特(罕见)架构的企业应用程序
  • 微服务
  • 自定义后端
  • 电子商务平台
  • 企业服务总线
代码生成器/聚合器
  • 在启动阶段为与狭窄框架相同的应用程序助一臂之力
高级全栈框架
  • ERP应用
  • 定制BPMS应用程序
  • 主数据管理应用程序
  • 业务线应用
  • 具有典型企业要求的定制应用程序
低/无代码框架
  • 简单的网站
  • 标准在线商店
  • 企业门户
  • 简单/典型BPMS
  • 基本的CRUD应用

翻译自: https://www.javacodegeeks.com/2018/06/classification-development-framework.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

投资最重要的事读后感_《投资最重要的事》读书笔记分享

1、学习第二层次思维。在投资的零和世界中参与竞争之前,你必须先问问自己是否具有处于上半部分的充分理由。要想取得超过一般投资者的成绩,你必须有比群体共识更加深入的思考。你具备这样的能力吗?是什么让你认为自己具有这样的能力&#xff…

Linux下社交平台,Linux 启动

> 1. 如启动失败请 查看[坑点概述](https://doc.fastadmin.net/wanlshop/299.html)## Linux运行IM即时通讯#### 1\. 远程连接Linux可以通过远程连接软件、VNC远程连接、Workbench或宝塔面板 > 软件商店 > 宝塔SSH终端进入SSH 终端cd命令 进入cd www/wwwroot/你的网站/…

vscode 取消拉去变基_GIT快速回忆

关于GIT和github:请搜索git下载安装,安装了git才能去github或码云(国内)观察自己上传的代码,github有个桌面版只是基于git的的图形工具,还是需要下载git。概念:1.提交、版本、commit,ID,差不多都…

java对象序列化去掉字段_使用序列化查找对象中的脏字段

java对象序列化去掉字段假设您正在开发一个将对象自动保存到数据库中的框架。 您需要检测两次保存之间所做的更改,以便仅保存已修改的字段。 如何检测脏场。 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段。 代码如下: public s…

c语言中怎么定义的字符串,C语言中定义字符串的几种方式

1,什么是字符串?所谓字符串本质上就是以\0作为结尾的特殊字符数组;2,定义字符串的过程中有哪些注意点由于字符串本质上其实就是以\0作为结尾的特殊字符数组,所以定义字符串时,必须保证字符串存储的最后一个…

ios 不被遮挡 阴影_解决ios10导航栏底部阴影线条隐藏失效问题

2016.11.13 21:47* 字数 887 阅读 791评论 0喜欢 16一、置空阴影图片基于iOS9,在iOS10上不好使.[self.navigationController.navigationBar setShadowImage:[UIImage new]];二、剪裁navigationBar首先看看UIView的clipsToubounds属性在SDK中的描述:property(nonatom…

Java的未来项目:巴拿马,织布机,琥珀和瓦尔哈拉

新闻稿“ Oracle Code One Java主题演讲概述了Java的未来 ”在Oracle Code“突出未来项目” Valvala 项目,巴拿马 项目,Amber 项目和Loom 项目中描述了Java主旨。 这篇文章为不熟悉上述项目的人提供了每个项目的简要摘要以及与每个项目相关的一些最新工作…

c语言选择题答案在哪查,C语言选择题及答案

C语言选择题及答案成绩的取得离不开我们平时的努力,以下是百分网小编为大家整理的C语言选择题及答案,希望对大家的学习起到帮助!选择题1.在深度为5的满二叉树叶中,叶子结点的个数为( )。A.32B.31C.16D.152.软件生命周期中,花费最多…

vs2019中如何创建qt项目_在VS2015中创建Qt项目【VS+Qt项目开发系列】(二)

在VS2015中创建Qt项目【VSQt项目开发系列】(二)发布时间:2018-04-20 22:44,浏览次数:1269, 标签:VSQt在上一篇【VSQt项目开发】(一)在VS2015中安装Qt环境中,我们完成了开发环境的安装,现在我们正式创建我们的项目。项目…

c语言ok未定义标识符,C语言中宏的相关知识 - osc_y7ckpzr9的个人空间 - OSCHINA - 中文开源技术交流社区...

2019/04/27 16:02 1.宏的定义:宏定义就是预处理命令的一种,它允许用一个标识符来表示一个字符串。格式如下:#define name(宏名) stuff(字符串)本质就是使用宏名去替代字符串的内容,注意是原封不动的替换,不要自己潜意识…

pythoni屏幕连点_【Flutter组件】仿抖音双击点赞弹出爱心效果(可连点)

效果简介仿抖音点赞手势,单击暂停,双击点赞,可连续点击添加多个爱心,特点如下全部效果为代码绘制(爱心图标来自Material Icon的图标)套上在目标Widget外即可使用提供单击与点赞的回调建议复制代码使用,动画可按需修改没…

java8 linq4j_Java 8仍然需要LINQ吗? 还是比LINQ更好?

java8 linq4j长期以来, LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式和monad ,它使C#语言跃居Java之前,Java在当时是版本6,但仍在讨论泛型类型擦除的优缺点。 这项…

printf sizeof c语言,你可能对 sizeof(i++) 有点误解。。。

原标题:你可能对 sizeof(i) 有点误解。。。各位,今天还是按照惯例给大家分享一个C语言容易出现的小错误,这也是跟sizeof有关的,问题虽小,却可管中窥豹,话不多说,代码先行:# includei…

mongodb上一篇下一篇_如何使用Microsoft office word—上一篇

从这一期开始,将会逐一介绍Microsoft office的几个常用的软件,例如word ppt excel等,每一个软件将分为几期介绍,这几期介绍word。注意:介绍软件版本是Microsoft office365。如何插入图片首先打开word,点击插…

Java:使用Mockito模拟ResultSet

这篇文章展示了如何使用Mockito模拟java.sql.ResultSet 。 它可用于帮助单元测试代码对ResultSet (例如ResultSetExtractor )执行操作,而无需依赖外部数据源。 您可以通过提供列名列表和2D数据数组来创建MockResultSet 。 例如: …

c语言如何随机获取1kb,基于VS2010+C语言实现播放器的顺序播放、随机播放

1.[文件] music.h ~ 920B 下载(38)/** File: music.h* Time: 2014/10/11*/#ifndef __MUSIC_H__#define __MUSIC_H__typedef enum { UNPLAYED, PLAYED } BOOL; // 自定义一个bool类型typedef enum { ORDER, RANDOM } PLAY_MODEL; // 自定义一个播放类型typedef char *MUSIC_…

rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现

漏洞原理fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执…

c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...

[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏一、实验目的与要求(1)了解极大极小算法的原理和使用方法,并学会用α-β剪枝来提高算法的效率。(2)使用C语…

java中重载 参数顺序_Java方法中的参数太多,第4部分:重载

java中重载 参数顺序期望将过多的参数传递给Java方法的问题之一是,该方法的客户端很难确定它们是否以适当的顺序传递了适当的值。 在以前的文章中,我描述了如何使用自定义类型 , 参数对象和构建器来解决此问题。 解决此问题的另一种方法&…

c语言金箍棒答案,《西游记》阅读测试题(带答案)

《西游记》测试题(后附答案)姓名得分1.《如来佛辨识假猴王》故事中,那只假孙悟空是什么猴子变的?()A.金丝猴 B.石猴 C.六耳猕猴2.金角大王和银角大王原来是()的弟子。A.太上老君 B.孙悟空 C.观音菩萨3.蜘蛛…