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

c 应用程序开发框架

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

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

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

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

框架分类

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

构架

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

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

狭窄的框架

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

代码生成器/聚合器

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

高级全栈框架

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

低/无代码框架

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

摘要

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

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

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

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

c 应用程序开发框架

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

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

相关文章

java mapper sql_Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)

slardar是一个sql mapping框架,其大概使用方式类似mybatis,没有采用hibernate那种orm的方式是因为个人觉得这种方式需要大量的处理sql,每次操作对象都要进行依次sql解析比较繁琐;转而想到mybatis这种把sql逻辑交给用户的方式还是比…

Linux 命令之 rsync -- 远程数据同步工具

没有时间整理,暂时参考这里:https://tool.lu/command/detail.html?namersync

黑洞路由 黑洞mac_无效方法为行为黑洞

黑洞路由 黑洞mac如果“认为有害”的文章本身不被认为是有害的,则本帖标题为“认为有害的作废方法”。 哦,好了 无效方法在大多数面向对象的代码库中无处不在。 在运行时中某个地方发生可变状态或I / O的直接后果是,您可以包装函数编程狂热者…

docker容器运行mysql持久化_OS x下使用Docker 持久化Mysql 数据出现问题

初学Docker ,请见谅。系统: OS X 10.11.1 (15B42)运行docker工具:Docker Quickstart Terminal virtualbox 5.0.8docker 版本:Docker version 1.8.2, build 0a8c2e3镜像 docker imagesREPOSITORY TAG IMAGE ID …

Linux 命令之 rcp -- 远程文件复制

文章目录一、命令介绍一、命令介绍 rcp命令的英文是“remote file copy”,即远程文件复制,可以使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单…

Java short 无符号右移_char类型byte类型或short类型进行无符号右移遇到的神奇问题...

代码package com.ggp.test.Third;/*** Author:ggp* Date:2019/7/27 17 23* Description:*/public class URShift {public static void main(String[] args) {byte b -1;System.out.println(Integer.toBinaryString(b));System.out.println(Integer.toBinaryString(b>>&g…

oracle adf_Oracle ADF和Oracle Jet一起工作。 建筑模式

oracle adf在本文中,我将考虑在Oracle ADF和Oracle Jet的组合之上实现应用程序的各种体系结构模式。 练习ADF的组织可能会考虑将Oracle Jet合并到现有项目中,以刷新外观并使其具有现代感和响应能力,并以新方式实施新功能。 它可能会考虑将Ora…

SVN 批量添加文件到版本库的命令脚本

svn status | grep "?" | awk {print 2} | while read line;do svn add{line};done;svn status 该命令用于查看文件信息,其中 M 代表修改,? 代表未知(即需要添加的文件);grep "?" 查找包含 ? …

php 打包下载网络图片,PHP实现图片批量打包下载功能

上次遇到一个需要打包下载批量图片的问题,找了一下发现这个好方法,记录一下。首先新建一个zipfile打包类:class zipfile {var $datasec array ();var $ctrl_dir array ();var $eof_ctrl_dir "\x50\x4b\x05\x06\x00\x00\x00\x00"…

tomee_OpenLiberty:注入错误,适用于TomEE和Wildfly

tomee当我在此博客上工作时,遇到此错误: [INFO ] DSRA8203I: Database product name : MySQL [INFO ] DSRA8204I: Database product version : 8.0.11 [INFO ] DSRA8205I: JDBC driver name : MySQL Connector/J [INFO ] DSRA8206I: JDBC …

Subversion(SVN)/TortoiseSVN 的分支合并方法

文章目录方法一方法二方法一 我改变主干分(trunk 分支)支本地的内容然后提交我在 RB 分支中进行其他更改并提交在主干的工作副本中,我使用 TortoiseSVN 从 RB 分支合并到主干分支,选择 Merge a range of revisions --> all re…

php 即时到账,paypal即时到账php实现代码

http://paypal.ebay.cn/integrationcenter/list__resource_2.html中文php开发简介:http://www.paypal-china.org/wangzhai/197.html以下是ecshop中paypal的支付代码这段代码是向paypal支付接口提交的{{{ //商家注册的邮箱}}}以下是官方提供的,接受到payp…

destroy 方法_线程方法destroy()和stop(Throwable)在JDK 11中删除

destroy 方法DrDeprecator (Stuart Marks)在core-libs-dev OpenJDK邮件列表上的消息“ RFR(s):8204243:remove Thread.destroy()和Thread.stop(Throwable) ”…

SVN 版本库管理实践

SVN 版本库中应该有两种划分体系,一是按产品划分,每个产品业务系统都按主干、分支结构划分;另外按项目划分。 项目分支归集暂时不能识别为产品的软件模块或补丁,项目分支的最初代码从产品分支体系中分支创建。当项目分支中的部分模…

java获取文件夹 路径,Java获取文件的路径

本文记录的是如何获取资源文件的路径.先看看我设置的文件目录结构,如下图所示:___Java Build Path的设置如下图所示, 主要看build project之后的文件输出目录:___在Java中有两种方式可以获取到文件的路径,通过下面的测试代码看看它们的不同:12345String …

java 示例_功能Java示例 第4部分–首选不变性

java 示例这是称为“ Functional Java by Example”的系列文章的第4部分。 在上一部分中,我们讨论了一些副作用,并且我想进一步详细说明如何通过将不可变性引入代码中来防止意外地对数据进行操作。 如果您是第一次来,最好是从头开始阅读。 …

SVN merge(合并) 的三种方式

文章目录一、合并一个范围的版本(Merge a range of revisions)二、复兴合并(Reintegrate a branch)三、合并两个不同的树(Merge two different trees)四、实例五、总结合并的工作是 把主干或者分支上合并范…

php主机安装v2,RackTables 安装教程Installation GuideV2

RackTables安装教程 V1.01.准备一份Ubuntu 12.04.01 LTS的 ISO (系统最好用Ubuntu的版本,简单实用)。2.安装操作系统, 功能选中OPENSSH SERVER (开启SSH)和 LAMP SERVER ,注意在LAMP安装过程中会提示MySQL的ROOT密码,这个密码很重要&#xff…

java延时执行_Java谓词的延迟执行

java延时执行在先前的文章“ 用Java的供应商延迟执行 ”和“ Java的消费者延迟执行 “,我看着很容易地通过推迟标准Java API接受,分别在Java执行供应商 S和消费者秒。 在本文中,我将对标准JDK提供的API如何通过标准功能接口Predicate允许延迟…

Mac 如何彻底删除/卸载程序

卸载某些应用程序后会留下一些预置文件和缓存等,一般这些文件没有潜在坏处,不过有些文件的存在也会导致无法正常安装新版本,你可以删除它们来彻底跟该应用程序说拜拜。这些文件通常位于以下路径: ~/Library/Application Support/…