架构技术
来源:互联网 发布:网络诈骗常见汇款方式 编辑:程序博客网 时间:2024/05/08 19:52
架构的本质
-装逼开始-
任何系统,自然情况下,都是从有序到无序,这是有科学依据的, 按照热力学第二定律,自然界的一切自发过程都有方向性,一个孤立系统会由有序变为无序,即它的熵会不断增加,最终寂灭。但生物可以通过和外界交互,主动进行新陈代谢,制造 “负熵” 来保证自身有序,继续生存。同样,一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序。
架构的本质就是对系统进行有序化重构,不断减少系统的 “熵”,使系统不断进化。
-白话-
举个栗子:java有很多技术解决方案,restfull,等等技术,这些就是散落在架构师脑海里的积木,而架构师要做的便是如何通过对这些积木的了解(大小、形状等属性功能)对这些积木进行有序的整合(从上到下,从左到右)形成最终形态(城堡,飞机,玩偶等)。而这个过程便是系统架构。-架构需要掌握哪些知识-
系统架构中有哪些架构(面向技术,面向服务等),你了解了多少java技术(解决方案),如何让这些解决方案更有效的组合搭配(这个需要对java技术解决方案的熟悉程度),兼具技术的广度(多领域知识)和深度(技术前瞻),兼具思维的高度(抽象思维)和深度(问题到本质),兼具感性(沟通)和理性(平衡)等知识(例如对于负责开发的人来说,怕的是业务太复杂,代码逻辑太乱,超出他能理解的范畴,系统无法维护。因此开发的需求是系统整体概念清晰,容易理解,方便扩展。对于负责运行的机器来说,怕的是业务并发量太大,系统核心资源不够用(如数据库连接)。它希望在业务量增加时,系统能够支持水平扩展,支持硬件容错(如避免单点故障)。)。-例子-
在 Web 1.0 时代,一个 ASP 或 JSP 页面里,HTML 和脚本代码混在一起,此时脚本代码越多,系统越混乱(即熵增加),最终连开发者自己都无法理解。此时就需要对系统重新架构,办法是引入 view helper 模式,分离 HTML 和脚本,HTML 成为 view,脚本成为帮助类。然后再简单整合在一起。通过重新分和合,整个系统层次清晰,职责明确,系统的无序度降低,容易扩展。同时不同技能的开发人员,如 UED 和程序员,可以负责不同部分,有效提高开发效率。
0 0
- 架构技术
- 技术架构
- 架构技术
- Java架构师架构技术
- 《大型网站技术架构》总结---架构技术
- 业务架构、信息架构、技术架构三位一体
- 业务架构、信息架构、技术架构三位一体
- 业务架构、信息架构、技术架构三位一体
- 业务、技术和架构
- w3c技术架构介绍
- 何谓技术架构?
- 搜索引擎技术:系统架构
- W3C技术架构介绍
- NC的技术架构
- .Net技术架构
- w3c技术架构介绍
- 技术架构的内容
- 校内的技术架构
- 分享平台的URL Schemes
- Gradle的一些配置
- 《高性能网站建设指南》笔记
- TCP数据报结构以及三次握手(图解)
- 小码哥-玩转【斗鱼直播APP】系列之界面分析
- 架构技术
- 声学基础---学习笔记
- 无向图的邻接表储存
- android应用:编写没有图标的应用
- Qt学习之路(tip): parent参数
- Hibernate的开发全步骤过程
- NSIS语法解析
- qwt插件的安装
- 调用 便携式热点和数据共享 设置