升级版Excel,千亿级大厂新选择:吊打金蝶用友?完胜SAP Oracle?-英雄云拓展知识分享
196
2023-10-26
【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第1章,第1节,由颜廷吉编著。
1.1.3 常见架构错误概念
1.架构=框架
框架 (Framework) 是整个或部分系统的可重用设计,表现为一系列组件或组件实例间 的交互方法。框架实际上就是给应用开发者定制的“骨架”,包含一些共通处理和算法,类 似生活中盖楼搭建起的“框架”,如 Struts、Spring等框架。架构是一种设计指导思想,确定 了系统整体结构、层次划分、不同组件之间的协作以及实现方式。如 C/S 架构、 B/S 架构 等。所以,软件架构不等于框架,如图1-3所示。
框架比架构更具体,更偏重于技术细节,是架构思想实现的具体表现。确定框架后,软 件体系结构也随之确定。而对于同一软件架构(如 Web 开发中的MVC), 可以通过多种框 架来实现。两者之间的区别见表1-1。2. 架 构 = 平 台
平 台 的 概 念 类 似 框 架 , 但 又 结 合 了 架 构 的 考 量 , 它 是 更 高 层 面 上 的 “ 框 架 ” , 更 确 切 地 说 是 一 种 应 用 。 它 是 针 对 企 业 用 户 , 为 解 决 具 体 业 务 需 要 而 形 成 产 品 。 因 此 , 架 构 也 不 是 平台 , 如 图 1 - 4 所 示 。
1.2架构的价值
架构在Java世界里由一些类或接口组成,正是这些类或接口为应用程序骨架提供了一 个可重用的设计(应用程序中的一层或几层)。架构调用业务开发者写的应用程序,从而实 现对程序流程的控制。
1. 研发过程带来的利益
(1)开发更加高效
屏蔽技术底层细节,开发者只需要写出相应的业务代码而不需要接触底层的API, 这让 程序员更加关注具体业务的实现。
(2)降低沟通成本
不同视图定位于不同涉众的关注点,降低了不同相关人员的沟通成本。
(3)便于组织和项目管理
便于团队分工合作与管理,在变更中保持概念的完整性。
(4)保证设计品质
架构是应用程序开发与设计最基础的技术依据,因此对设计也有一定的制约作用,可防 止设计的过度自由,保证设计的整合与统一,从而提高设计品质。
(5)融合需求变更
框架实际上也是一种规范,可以让每次参与项目的程序员保持统一的架构思想与编码风 格,从而保证了软件品质。
(6)提高可测试性
良好的架构更容易诊断、跟踪与发现故障。
2. 软件自身带来的利益
(1)延长系统寿命
降低软件的熵(软件坏死的因素),使其更容易维护与升级。
(2)增加可重用性
架构设计考虑了系统替换规则,注重各种粗细力度的可重用性设计。
3. 经济角度带来的利益
(1)降低软件费用
可以更加精确地估算成本,同时降低研发成本以及维护成本。
(2)降低开发风险
先期的架构开发,排除了技术开发的关键风险。
(3)控制复杂程度
经过良好设计的架构可以为程序提供清晰的结构并提高程序的内聚性。清晰的结构可以 使其他人更容易融入项目。易用的架构可以通过例子和文档为用户提供最佳实践。
(4)提高可预见性
架构的投资发生在系统开发的早期阶段,但是架构所带来的收益却发生在业务开发与维 护阶段。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~