敏捷架构: 可自适应变化

Creation; Steve Grand; 也许这本书中所写的,才是构建一敏捷架构真正所需的工程实践。

“找到所有系统都需要的最基本元素(elements)。经由演化与学习的过程,这些基本的元素,
将能自适应外部的变化,
组合成其它基本的元素。最终,
这些基本的元素, 将能依人类行为的变化,
组合成人类所需的系统。当然,
这样所形成的系统, 将自然而然的能永远自适应,
由人类行为所产生的种种变化。”

“所以,
也许我们过往在开发产品上,
所犯下的最大错误便是: 总是经由流程,
工程实践, 进行需求分析,
架构设计, 以试图能找出客户要我们开发的产品。很幸运的是,
我们找到了。但更不幸的是,
这样的幸运, 往往顶多只能持续到一个版本。因为,
流程, 工程实践往往只能告诉我们这个版本要做什么?
却往往无法预测下个版本要做什么?
换句话说, 流程,
工程实践, 往往使得我们只能有两个选项:其一是,
誏下个版本的架构,
只能约朿在上个版本所形成的架构框架中;
其二是, 誏前后版本不兼容的事情发生,
以便使下个版获得更大的开发空间。”

这两种选项, 其实都不怎么的高明。

所以, 犯了错就要改;
人生最幸福的时刻便是, 又回到了那什么都不懂的原点。

时间: 2024-10-18 06:16:04

敏捷架构: 可自适应变化的相关文章

echarts图随浏览器的大小自适应变化大小

echarts图初始化后不能自适应浏览器的缩放,线条等会伸出div框或不能填充,需要让echarts的图resize一下,在调用浏览器窗口大小变化时调用resize方法即可 "ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize" 使用方法: window.onresize = function(){         

echarts的地图省份颜色自适应变化

在使用echarts的地图的时候省份的颜色可能随着数据的多少显示不同的颜色,但是当后台返回的数据的变化较大时可能就不好控制了,所以需要设置根据后台的数据进行自适应 将后台返回的数据中的value放入一个新的数组中,然后取出数组中的最大值来设置给echarts的visulMap的max属性,并将最小值设置给min属性,当后台没有数据返回的时候会报错,所以要进行一下判断 这里取最大值和最小值使用的是扩展运算符配合Math.max/Math.min来实现的 //data是后台返回的数据var leng

web系统架构的演进变化很形象

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键. 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率. 此时,用于加速前端页面开发的 Web框架(MVC) 是关键. 分布式服务

三列布局,左右宽度固定,中间宽度自适应变化---普通格式和双飞翼格式

两种做法. 做法一: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> *{ margin: 0; padding: 0; } #left { width: 100px; float: left; background: green; height: 300px; } #right { width: 100px; float: right; backgro

三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化

第一种方法:绝对定位 <!DOCTYPE html> <html> <head> <title>三列布局</title> <link rel="stylesheet" type="text/css" href="task0001.css"> </head> <body> <div class="wrap"> <di

敏捷软件开发 VS. 传统软件工程

敏捷软件开发 VS. 传统软件工程 软件工程这一术语1968年被提出,之后美国软件工程专家巴利·玻姆对十多年间研究软件工程的专家学者们提出的一些准则与信条,于1983年对提出软件工程的七条基本定理,将软件工程这一学科具体化,软件工程中开发与管理软件的方法也不断完备.而敏捷软件开发于2001年由Kent Beck和其他16位知名软件开发者提出,敏捷开发是人们对于传统软件开发方式的一种提出的新的挑战.本文将具体介绍软件传统工程与敏捷软件开发两种方法,并对两者进行对比分析. 一.传统软件工程 软件工程

敏捷宣言的简单介绍

目录 一.什么是敏捷宣言? 二.敏捷宣言的诞生 三.具体内容 (一)官方网站 (二)四大核心价值 (三)十二原则 四.解读 五.背景和意义 参考 正文 一.什么是敏捷宣言? 敏捷宣言(Manifesto for Agile Software Development),也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法.敏捷软件开发关注保持简洁的代码,经常性测试以及及时地交付应用的功能模块.敏捷宣言的创建是为了替代文档驱动的繁重的软件开发流程,例如

敏捷(Agile)——“说三道四”

可以这么理解:一种以人为本.团队合作.快速响应变化和可工作的软件作为宗旨的开发方法.亦可理解为在一个高度协作的环境中,不断地使用反馈进行自我调整和完善,持续交付用户想要的软件的过程.敏捷开发提倡通过多种工程实践来提高交付质量,如自动化测试.持续集成.重构.结对编程.代码的集体所有权等,比传统的设计-开发-测试-修改流程有更高的成效. 前辈们"筚路蓝缕"无私付出造就了敏捷开发,使软件界不能承受之"重"变得轻盈,让我们能够站在巨人的肩膀上展望软件界.现在我们就开始敏捷之

web架构设计经验分享(转)

本人作为一位web工程师,着眼最多之处莫过于 性能与架构,本次幸得参与sd2.0大会,得以与同行广泛交流,于此二方面,有些心得,不敢独享,与众博友分享,本文是这次参会与众同撩交流的心得,有兴趣者可以查看视频 架构设计的几个心得: 一,不要过设计:never over design 这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化一的架构,希望设计出具有无比扩展性,能适应一切需求的增加架构,web开发领