架构目的:快速开发,易于维护
组件:
部门应该积累自己的底层API,随着积累的API越来越多,项目就越容易构建的。
底层API应该为多个项目服务,做到复用,而不是复制,这样可以方便全局的管控。
把底层API 抽成服务,而形成基础组件服务,为项目构建的打下基础。
组件的分类:前端组件 为方便构建页面
后端组件 提供数据访问、文件访问、FTP访问、数据校验等等
系统架构图:
部署图:
Service的执行方式:
1.传统的java service来实现业务逻辑,由java虚拟机来执行逻辑类。
特点:适用范围广,可实现绝大部分业务逻辑。
缺点:业务逻辑流程相对不清晰,部署时需要重启服务
2.使用脚本语言调用基础组件来实现业务逻辑,由脚本执行引擎来执行。
特点:适用范围中(取决于基础组件多少及执行环境API),可热部署,可提供配置页面修改,维护简单,方便阅读。
缺点:执行速度相对于1慢一点。
3.使用xml配置业务逻辑,由xml解析执行器运行。
特点:适用范配稍小(取决于基础组件多少),简单,可配置化,可解析,可全局修正,方便阅读,可生成流程图。
缺点:XML数据有点臃肿
适用范围:1>2>3
易于理解:3>2>1
易于维护:3>2>1
相关推荐
### Android架构随想 #### UML 类图复习与理解 UML(统一建模语言)是一种广泛使用的标准化建模语言,用于软件工程中系统的设计与文档化。在本篇文章中,作者提到了UML类图的一些基本概念及其在Android开发中的...
### 微信多点登录与QQ消息漫游架构解析 #### 一、多点登录的概念与实现 **多点登录**是指多个终端设备同时登录一个账号,并能够同时收发消息的功能。这一特性常见于即时通讯软件中,如微信、QQ等。 **1.1 多点...
### 架构师手记 07 云的随想:深入解析云技术与企业应用 #### 一、云的概念与分类 文章标题为“架构师手记 07 云的随想”,通过作者对云的思考和观察,为我们揭示了云计算在当前企业中的应用现状及其面临的挑战。...
前面一篇文章《最近架构随想》,我提到架构设计的一些构想,其实也是对之前项目经验的一些归纳及总结。今天我们就以权限系统作为切入点,谈一谈怎么设计权限系统以及怎么做到系统具有以下特性:Organized:如果系统...
《软件随想录》是计算机科学领域的一部经典著作,由知名程序员、软件工程专家、敏捷开发倡导者Martin Fowler所著。这本书集合了他对软件开发的深入思考与实践经验,涵盖了软件设计、项目管理、团队协作等多个方面。...
6. **软件设计原则**:书中提到了一些重要的设计原则,如单一职责原则、开闭原则、依赖倒置原则等,这些原则有助于创建可扩展和可维护的软件架构。 7. **版本控制**:在软件开发中,版本控制工具如Git的应用被高度...
5. 软件架构:微服务架构、SOA(面向服务的架构)、MVC(模型-视图-控制器)架构等。 6. 版本控制系统:如Git和SVN的使用和最佳实践。 7. 编程语言:可能会探讨不同编程语言的优缺点,如Java、C++、Python、...
例如,云 computing、大数据、人工智能和微服务架构等新兴技术对软件开发的影响,以及如何在不断变化的技术环境中保持学习和更新的能力。 总之,《软件随想录》是一本全面剖析软件开发各个层面的读物,通过学习其中...
熟悉C语言,可以更好地进行性能优化,理解和开发编译器及操作系统,并在项目架构设计中展现专业素养。对于那些只依赖高级特性而缺乏基础理解的程序员,Spolsky将其比喻为“盲目无知地编程”,强调了对基本语法和机制...
标题“「代码随想录」程序员求职攻略(v1.0)”和描述“「代码随想录」程序员求职攻略”暗示这份文件应该包含了一些针对程序员求职过程的建议和策略。考虑到“算法”作为标签,我们可以合理推测文档中可能涵盖了以下...
CIO成长与知识体系架构.pdf
在学习ASP.NET的过程中,开发者往往需要理解.NET Framework的架构,包括Common Language Runtime(CLR)和类库。CLR是.NET Framework的核心,负责代码的编译、安全检查和垃圾回收等。同时,.NET Framework提供了大量...
Java开发者还需要理解RESTful API设计、微服务架构以及Docker容器化技术。而Go语言部分,会涉及其并发模型、Goroutine、Channel、接口和反射等特性,以及如何利用Go进行高性能网络服务开发。 数据库方面,无论是...
【计算机教育:软件随想录】给计算机专业学子的建议 在计算机教育中,培养软实力至关重要。这里的软实力不仅包括编程技能,更强调的是沟通和表达能力。文章的作者,Joel Spolsky,以其丰富的经验和独特的见解,为...
这包括理解软件的工作原理、架构设计、算法实现等。同时,记笔记和与社区交流是非常有益的,可以帮助理解和记忆,同时也能获得他人的见解。 在编译环境方面,C和C++项目常在Windows和Linux下进行。Windows环境下,...
掌握C语言意味着更深入的计算机知识,这将使你在项目架构设计和关键决策中更具可信度。 最后,他提醒学生们要理解基本的机器原理,能够解释如字符串复制等基本操作,这是编程的基础。缺乏这些基础知识就像是医生在...
人工智能技术与建筑工业化的发展,是近年来科技与建筑行业发展的重要趋势,两者相结合为建筑行业带来了全新的变革。本文从人工智能的多个维度出发,探讨了它如何推动建筑工业化进程。 首先,工业4.0时代的来临,以...