架构 Roadmap 笔记分享 (2015 年)

架构 Roadmap 笔记分享 (2015 年)

虽然我们的架构不是开源的,不过一些笔记可以愿意公开和大家讨论一下,我相信不少人在和我们干着同样的事情,那不如一块儿交流一下,这样我们可以更快。

 

这里前端,后端都有,前端我们用的是 angular,推荐下。

 

混合应用,*APP 版本热更新支持。

混合应用,*现在将微信 Web APP 切换到 本地 APP 还需要一些手动的替换工作,架构上可以持续优化。

混合应用,*目前 APP 的页面切换效果很生硬,加入类似 iOS 的左侧滑动返回切换动画,以及页面跳转的动画。
混合应用,结合调用本地硬件场景 Demo。
 
这个后端的:
底层架构,*增强 IoC 依赖注入,更彻底的模块化,Repository Session 生命周期优化
底层架构,*Command / Query 分离,Service 简化
底层架构,*EventBus 增加 Context Parameter 支持
底层架构,*框架已经具有分布式处理的理论模型和基础层面支持,有需要时可实现分布式处理(基于事件和事件路由分发)
底层架构,*管理后台前台分离成两个网站。
底层架构,*支持多个数据库连接。
底层架构,*负载均衡(由于一些如系统配置、权限矩阵信息是缓存在内存里的,进行一些改动能支持多台机器负载均衡,5 人天)
底层架构,*提供代码热更新,通过与 VS 集成,重编译模块时,框架检测到如果只是修改了 Controller ,则直接将现有 AppDomain 中的 Controller 映射替换,而不是重启,节省 Web 开发时反复修改,启动的时间损耗。同理,这一步实现后,因为将来 Repository、Service 的引用是通过 IoC 动态获取的,更新 IoC 中类型的引用映射,所以可以将这种类型映射热替换的模式应用到 Repository 和 Service 层去,从而很大程度减少开发时需要重新启动的次数
底层架构,*一个程序多个数据库连接支持。
 
 
基础设施,*优化快速查询 API,设计一种小型架构,支持根据约定就能搞定 Web Api(Query 条件、SELECT Projections、分页)
基础设施,*针对优化互联网类应用做架构优化,主要是简化、加速、清晰开发过程,目前架构应对互联网类型的问题是,JSON 查询,View 返回,POST 提交动作处理,都在 Controller Action 里面,新的架构要更简化更清晰这个结构,Command 和 Query 应分离,更快,同时抽象度和可复用度要更好
基础设施,*多态分页 model&API 优化,同时支持 page,pageSize 和 skipCount,takeCount 两种分页风格,实现一套 API 适应不同应用场景
基础设施,*Framework Console 提供小工具,如:工程师输入一个 url ,返回出是那个 Controller,Class 类名,那个 dll,最好能反应出代码路径,然后点击一下就能打开那个代码文件,项目大了不用在去 VS 里面一个个打开文件夹寻找。

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119610.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis分布式锁的实现(setNx命令和Lua脚本)

    redis分布式锁的实现(setNx命令和Lua脚本)前言本篇文章主要介绍基于Redis的分布式锁实现到底是怎么一回事,其中参考了许多大佬写的文章,算是对分布式锁做一个总结分布式锁概览在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢?实际上,对于分布式场景,我们可以使用分布式锁,它是控制分布式系统之间互斥访问共享资源的一种方式。比如说

    2022年5月20日
    169
  • 重复字符串 leetcode_求字符串的最长无重复字符串

    重复字符串 leetcode_求字符串的最长无重复字符串原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,”pwk

    2022年8月9日
    5
  • python游戏代码200行_python做贪吃蛇

    python游戏代码200行_python做贪吃蛇python语言,总所周知是比较简单的,而且代码也不会像java那样多,下面就使用python的第三方库pygame进行开发一个贪吃蛇游戏。1.pygame的安装直接在cmd当中使用pipinstallpygame进行安装。或者在pycharm当中自动导入安装也OK2.全局变量的定义在代码当中会使用到很多这种变量的值,直接在最开始进行定义,后面获取变量即可W=600#屏幕宽H=400#高fps=12#帧率size=(W,H)ROW=

    2025年9月13日
    5
  • 电子学报、计算机研究与发展中文期刊投稿过程记录

    电子学报、计算机研究与发展中文期刊投稿过程记录电子学报 计算机研究与发展中文期刊投稿过程记录电子学报 一月二十投稿 至十一月十五录用排版 历时十个多月 总体来说电子学报很规范很严 历经两次外审 审稿意见很犀利 计算机研究与发展 总历时大约六七个月 审稿严格 速度较快 但是出版慢 提前给录用通知 安排到 2021 年 10 月出版

    2025年11月11日
    1
  • drupal安装模块

    drupal安装模块1.安装kint2.安装模块composerrequiredrupal/模块名

    2022年7月20日
    15
  • pscp使用命令

    pscp使用命令pscp 时 putty 安装包所带的远程文件传输

    2025年6月13日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号