首页 > 其他分享 >如易云揭秘1-框架

如易云揭秘1-框架

时间:2023-06-05 11:37:56浏览次数:43  
标签:web 框架 模型 如易云 业务 common 揭秘 se



       如易云是什么 如易云的框架是业务系统开发和技术中间件之前的桥梁,是对业务领域深入理解后的精巧封装,可以大大提升开发效率。




全景图


我对每块,做下简单说明。

        se-context,业务上下文(主要是用户信息),大家都懂的。因为集成了springsecurity,基本上是对SecurityContext的包装,通过上下文可以方便的拿到用户信息,不过这里会支持 web入口(http请求)和 远程方法调用入口(dubbo)。对于具体的业务系统,肯定上下文信息会有所扩展,例如 如易云,会增加用户所属公司,创建的应用及应用的相关信息等。

        se-domain-common,模型的基础包。 主要分为域模型(BaseDomain、CreateBaseDomain)BaseDomain 只有一个id属性;CreateBaseDomain
包括创建人、创建时间、修改人、修改时间、状态(可用、不可用、逻辑删除)。持久化,主要是 条件查询,排序等。view(展示),主要是分页展示,查询部分的模型抽象;wrapper(包装),主要是移动开发中便于ios处理,返回的一切皆对象(“{}”),对基本类型,数组做了包装。

        se-biz-common,是对业务逻辑层的封装。关于数据库层细节,请看:创易-数据层设计 基于这样的理论基础,我们基于此对DAO,Service(包含业务异常、分页、数据权限)层做了通用实现。

         se-protocol-common,是协议的封装。这是建立在我们多年web开发、移动开发的基础上的,不可否认人和人的沟通是低效的。我们希望这种协议约定深深的植入脑子深入,成为一种标准。结合wrapper、converter、ExceptionHandler我们的返回格式将是完全统一的(不管是web系统还是移动应用),如下:


{
"rtnCode":"返回的响应码 为空,说明是正常返回",
"msg":"错误信息",
"developMsg":"错误堆栈信息",
"uri":"错误说明url",
"ts":"服务端响应时的时间",
"style":"plain/gzip/encrypt",
"bizData":"返回的业务数据"
}

         se-web-common 是api层的封装,基于protocol,依赖springmvc的机制,实现。它依赖了springboot web相关的jar包。

          se-admin-ser-common 是运营管理系统业务逻辑层的实现,包括模型、DAO、service。关于 admin的 模型,后面会有专门文章介绍。

          se-admin-common是运营管理系统web层,主要是基于freemarker模型引擎渲染,列表/编辑页面 有赖jqgrid强大功能和很好的抽象能力。我们对其抽象做了数据库映射,保证运行期可动态变更。另外就是其他它可实现面向列的数据权限。



最后,如易云 代码生成工具 无缝集成了这套框架!


标签:web,框架,模型,如易云,业务,common,揭秘,se
From: https://blog.51cto.com/u_16066979/6414217

相关文章

  • 如易云解密2-自动生成代码
          如易云框架 先了解,基于如易云在线服务可快速生成类似javascript:void(0)的全套代码。第一步当然是注册 如易云账号了,如图:(还没做任何校验,请填写正确的信息)注册页面第二步登录成功后,会跳转到如易云管理控制台,可以选择一键生成应用,别着急,等一段时......
  • 如易云揭秘1-框架(cache)
    Hibernate老鸟的话,对于Hibernatecache的精妙实现应该都是非常了解,即便不了解其实现原理,也知道Hibernatecache非常的易用,集成EhCache,对于系统性能也有很好的提升。那我们来看看如易云的框架,如易云的框架基于Mybatis,Mybatis新版本中也集成了cache,并且也有开源......
  • HTTP框架--FOREST 的使用
    引入jar包<dependency><groupId>com.dtflys.forest</groupId><artifactId>spring-boot-starter-forest</artifactId><version>1.3.0</version></dependency>定义自己的接口类publicinterfaceMyClient{@Request(url=......
  • laravel框架中保留条件搜索
    前段代码<formaction="admin_index"method="get"><inputtype="text"class="input-text"style="width:250px"placeholder="请输入账号"value="<?phpechoisset($_GET['account'......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(2)
    在上篇随笔《基于Admin.NET框架的前端的一些改进和代码生成处理(1)》中大致介绍了一些关于对Admin.NET框架的前端的改造工作,主要目的就是希望能够增加前端代码的简洁性和可读性,以及利用代码生成工具来快速生成相关的代码,从而减少开发过程中的繁琐问题。本篇随笔继续探讨一下,对其中一......
  • 基于Admin.NET框架的前端的一些改进和代码生成处理(1)
    Admin.NET是一套基于Furion/.NET6实现的通用管理平台,模块插件式开发,框架包含了常规的权限管理、字典等管理模块,以及一些Vue3的Demo案例,框架前后端分离。后端基于基于Furion/.NET6实现,底层集成SqlSugar;前端则是采用Vue-Next-Admin的前端框架,整体是一套非常不错的框架。本人比较喜......
  • JUC知识点框架
    JUC(java.util.concurrent)atomicAtomicBooleanAtomicIntegerAtomicLongAtomicReferencelocksAQS(AbstractQueuedSynchronizer)ReentrantLockConditionLockSupportReentrantReadWriteLockStampedLockAQS典型应用ReentrantLockCountDownLatchSemaphore......
  • 细数AJAX框架一箩筐
    [color=red][b]1.Purejavascript:ApplicationFrameworks[/b][/color][color=blue][b]1.1Bindows(成立于2003年)[/b][/color]Backbase是一个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户......
  • 这一次,带你玩转gRPC框架
    前言大家好,先做一下自我介绍我叫BarryYan,目前是一名互联网公司的研发工程师,同时也是后端技术领域的狂热爱好者和技术博主,在GitHub、CSDN社区、51CTO博客社区、阿里云技术社区、掘金技术社区和InfoQ写作社区等都有自己的博客,原创200余篇。虽然刚刚大学本科毕业不到一年,但是算上实......
  • ArchUnit 架构测试框架
    很多时候我们觉得架构比较复杂,或者架构比较玄幻,同时对于自己设计的架构方案心里总是没有底ArchUnit是一个不错的选择可以像单元测试一样,测试我们的架构是否合理(包含了包以及类的依赖,分层,循环依赖。。。。)说明对于希望检查自己方案架构问题的,可以尝试下ArchUnit工具参考资料https:......