今天和同事探讨一些问题,偶尔提到了为什么要架构的问题,并交换了观点。对过去一些项目进行了反思,包括一些刚提拔上来的架构师做的一些成果,进行了检讨。
到底需不需要架构,也就是为什么要架构?如果要的话,到底什么决定架构?个人觉得,回答这个问题,就要看回答者所处的层面或者说立场了。架构的好处,可以有一堆资料,我也就不罗嗦了。
但是我们需要一个东西,就是因为这个物品有一堆好处吗?我想不一定吧!梳子是一个好东西,但是对于和尚来说,不一定就需要这个,或者说大部分和尚是不需要的,古董奢侈品除外。
现在很多一谈架构,必谈SSH,好像没有了spring那简直不叫架构。那到底什么决定架构呢?常识?流行?通用?我想也不是吧。我们请客吃饭,一般都会点些猪肉制品。但是,是不是只要是请客就必须有猪肉制品呢(如红烧排骨啊等)。起码请回族的朋友就不能点。
那,到底要不要架构,这个我们要回到架构的本质,架构为谁而生,这个概念的产生的初衷是什么。在10年前我们也不谈架构,而现在我们做什么都谈架构。到底是为什么?
现在的客户再也不是以前的客户了,他们掌握的信息化知识比以前要多的多,而他们期望信息化给他产生效果的周期越来越短,投入也希望更少,而且企业用户为了应对快速变化的市场,他的需求也在不断的变革。这就是架构产生的背景。架构的产生就是为了能让软件开发者或企业能更好的应对这些问题,而产生的一种软件构造方法和技术。
所以架构对于需求千年不变的应用,可有可无。没有什么时间成本压力,就搞个艺术品。如果没有那么好的待遇,就搞个生活品。
那什么决定架构呢?其实上面的例子里已经很明确,就是客户决定架构。说得更直接就是客户给的钱决定架构。道理很简单架构也是要成本的,架构选用的技术都是成本。你不能点一个菜,却要求餐馆给满汉全席的待遇给你吧。
分享到:
相关推荐
技术的选择应根据企业的实际需求、业务场景、人才储备和经济条件来决定,而非盲目追求最新最先进。 大数据平台架构通常由五个横向层次和一个纵向管理层构成。这“五横”分别是数据采集层、数据处理层、数据分析层、...
在IT行业中,架构设计是构建复杂系统的关键环节,它决定了系统的稳定性和可扩展性。"架构设计参考 高可用架构"这一主题旨在深入探讨如何构建能够承受高流量、确保服务连续性和提供优秀用户体验的系统。这是一份面向...
软件架构是构建软件系统的基础,它是从整体到部分的最高层次划分,决定了系统的基本结构和组织方式。在软件开发中,架构设计至关重要,因为它影响着系统的稳定性和可扩展性,直接关乎项目的成功与否。 架构主要包含...
架构设计是软件开发的核心环节,它决定了系统的整体结构、组件间的关系以及通信机制,对软件的性能、可扩展性、可维护性等方面具有决定性的影响。 首先,论文可能涉及了架构风格的概念,这是描述特定类型系统组织...
软体设计师中有一些技术水平较高、经验较为丰富的人,他们需要承担软件系统的架构设计,也就是需要设计系统的元件如何划分、元件之间如何发生相互作用,以及系统中逻辑的、物理的、系统的重要决定的作出。...
11. 应用基础设施(Application Infrastructure),即架构建立在什么平台之上,比如Windows服务器和.NET框架等。 12. 管理(Management),包括用户对软件的管理需求,如性能监控和执行效率统计等。 13. 安全性(Security...
软件架构是软件开发的基础,它定义了系统的组织结构和组件,以及这些组件之间的关系,决定了软件系统的可扩展性、可维护性和可靠性。这本书的重点在于“架构风格”,即在特定领域内,经过实践验证的、具有普遍性的...
本文将深入探讨决定架构的因素、嵌入式环境下的特点以及软件框架的设计。 1. 前言 嵌入式系统的软件架构设计是开发过程中的关键环节,它决定了系统的整体结构和组件间的交互方式。随着技术的发展,嵌入式系统的应用...
它不仅决定了系统的可扩展性、可维护性和可靠性,还直接影响团队的协作效率和项目的成功率。书中详细介绍了如何根据业务需求和技术环境选择合适的架构模式,以及如何通过架构评估、设计决策记录和重构来确保架构的...
系统的目的决定了系统的总体架构设计和逻辑功能架构设计。 2. 系统总体描述 系统总体描述必须输出,描述系统的总体功能说明、设计原则和设计特点。系统总体描述是系统架构设计的基础,影响着系统的总体架构设计和...
超融合架构的分布式存储特性能够为用户带来70%的价值,而超融合架构带来的好处(例如管理简化和使用成本降低)则占30%,但这30%往往是用户决定从传统架构切换到超融合架构的关键因素。 三、超融合架构的出现原因 超...
在企业总体架构中,业务架构位于核心位置,它决定了企业服务的形态和发展方向。具体来说: - **企业总体架构**:从宏观角度定义了企业服务的框架,包括业务架构、领域模型、面向服务架构等多个层次。 - **业务架构*...
什么是架构?什么是基于 SOA 的架构?架构就是一套构建系统的准则。通过这套准则,我们可以把一个复杂的系统划分为一套更简单的子系统的集合,这些子系统之间应该保持相互独立,并与整个系统保持一致。SOA 本身就是...
3. **连接器**:描述组件间的关系,如网络、数据库连接,决定了数据传输的方式和速度。 4. **约束**:对系统行为、性能、安全等方面的限制,确保系统满足特定需求。 5. **模式与原则**:用于解决常见问题的标准解决...
架构是系统的核心设计,决定了系统的可扩展性、可靠性、性能和可维护性等关键特性。 1.1 运行时抽象:这是对系统在执行期间行为的高层次描述,它隐藏了实现细节,强调了系统的高层结构和行为模式。 1.2 元素:软件...
通过工厂模式,可以在运行时动态决定使用哪种数据访问对象,增强了代码的灵活性。 7. **数据库工具类(DBUtility)**:可能包含在项目中的一些通用数据库操作函数,如连接数据库、执行SQL语句等。 8. **Model**:...