闲聊下架构、框架,以及架构师

我们先来看看本人对下面这两个名词的个人见解:

软件架构:
几乎每个软件系统的架构都是不同的,因为软件架构的第一步就是根据当前项目的重要需求及约束来制定一个个技术决策。

软件框架:
可以分成行业框架和通用框架。

通用框架是对大多数软件项目常用的模块(底层+高层)进行封装(同时暴露热点)的一个集合,能提高开发速度以及质量
行业框架是针对某特定领域,把类似领域逻辑提取出来进行封装(同时暴露热点)的一个集合,能提高开发速度以及质量
行业框架可以是基于通用框架之上的。
站在架构师的角度,针对架构的开发,会慢慢演变为针对框架的开发(由于需要考虑复用以及对开发人员友好API特性)

伸缩性:一般是指机器级别的横向扩展,如:web服务器的横向扩展、数据库的读写分离、中间件的横向扩展
扩展性:是指当需求变更时,系统能否很容易的进行修改、扩展。
简洁性:直接的观念是AOP,因为AOP能让开发人员集中注意力于业务逻辑上,而不需要过多考虑非业务逻辑代码(比如日志、权限、参数的基本验证等)
性能:与伸缩性、算法优化、充分利用CPU能力有关

由于每个项目都是不同的,因此架构也大多数不同,但是由于人的精力有限,不可能样样都精通,因此当架构初始化之后,针对不熟悉的
架构还需要进行架构验证(如同测试人员的BVT)。因此对架构师而言,个人的学习能力、学习速度以及实践能力都非常重要。那么如何进行架构验证呢?
1. 找几个开发人员评审评审框架提供的API,看看反馈,需要修改则修改,或者通过技术培训解决
2. 使用AOP技术插入必要的日志、性能计数器、内存占用数(当然也可以用其他技术,并非只有AOP技术)
3. 自己进行性能测试、性能分析;或者找技术性测试人员来做

最后别忘了当项目进行之前先进行技术培训,讲解框架的实现原理以及如何使用。

综上所述,框架与架构质量的好坏会严重影响使用者的效率,如:开发人员的开发效率,架构师责任重大啊。

时间: 2024-10-05 22:01:05

闲聊下架构、框架,以及架构师的相关文章

[系统架构]抛砖引玉:闲聊下架构、框架,以及架构师

?? 我们先来看看本人对以下这两个名词的个人见解: 软件架构: 差点儿每一个软件系统的架构都是不同的,因为软件架构的第一步就是依据当前项目的重要需求及约束来制定一个个技术决策. 软件框架: 能够分成行业框架和通用框架. 通用框架是对大多数软件项目经常使用的模块(底层+高层)进行封装(同一时候暴露热点)的一个集合.能提高开发速度以及质量 行业框架是针对某特定领域,把相似领域逻辑提取出来进行封装(同一时候暴露热点)的一个集合.能提高开发速度以及质量 行业框架能够是基于通用框架之上的. 站在架构师的角

【转载】淘宝架构框架发展史

转自 http://www.361way.com/taobao-architecture/1948.html      一.个人网站  2003 年 4 月 7 日,马云,在杭州,成立了一个神秘的组织.他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴,去做一个神秘的项目.这个项目要求绝对保密,老马戏称“连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角”.这份协议是英文版的,匆忙之间,大多数人根本来不及看懂,但出于对老马的信任,都卷起铺盖离开了阿里巴巴. 他们去了一

淘宝架构框架

   一.个人网站  2003 年 4 月 7 日,马云,在杭州,成立了一个神秘的组织.他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴,去做一个神秘的项目.这个项目要求绝对保密,老马戏称"连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角".这份协议是英文版的,匆忙之间,大多数人根本来不及看懂,但出于对老马的信任,都卷起铺盖离开了阿里巴巴. 他们去了一个神秘的据点 -- 湖畔花园小区的一套未装修的房子里,房子的主人是马云.这伙人刚进去的时候,马云给他们布

亿级用户下的新浪微博平台架构

序言 新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA).高并发访问.低延时的强大后台系统支撑. 微博平台第一代架构为LAMP架构,数据库使用的MyIsam,后台用的php,缓存为Memcache. 随着应用规模的增长,衍生出的第二代架构对业务功能模块化.服务化.组件化,后台系统从php替换为Java,逐渐形成面向服务的SOA架构,在很长一段时间支撑微博平台业务发展. 在此基础上又

系统架构师-基础到企业应用架构-企业应用架构

一.上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层.数据访问层.服务层.表现层,我们了解了这些分层的职责和分层之间的大概的关联 关系,本篇可能主要是简单的介绍下企业应用的几类模式,结合这几个分层直接的交互来完成系统功能的构建.我们还是先对我们学习的四个分层的职责和功能做个大 概的回顾,我们先来看看下图来回顾下我们讲述的内容. 我想通过上图,大家能回忆起我们讲述的相关内容,然后整理好自己的思路,我们本文将会针对这几个分层进行相应的模式的讲解,并且会结合实例来说明企业应

亿级用户下的新浪微博平台架构读后感

阅读文章:亿级用户下的新浪微博平台架构 文章网址:https://mp.weixin.qq.com/s?__biz=MzA3NzgzMzUxMw==&mid=203412989&idx=4&sn=2df0c60f56ae1e228ff269420803c3ef&scene=21#wechat_redirect 微博平台第一代架构为LAMP架构,数据库使用的是MyIsam,后台用的是php,缓存为Memcache. 随着应用规模的增长,衍生出的第二代架构对业务功能进行了模块化

.NET跨平台之mac 下vs code 多层架构编程

合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入,申请备注填写姓名+技术+工作年限) Q  Q:408365330     E-Mail:[email protected] 概述: 为了研究跨平台.NET 开发,我打算利用.NET core 编写一个跨平台的cms,这个CMS我也秉着开源的原则放到github上面,为.NET 开源社区做点小小的贡献吧.如果有兴趣的可以联系我一起为.NET开源和跨平台做点小小的贡献吧.EgojitCMS传送

java设计模式、框架、架构、平台之间的关系

    设计模式<框架<架构<平台,从复用角度讲,设计模式是代码级复用.框架是模块级复用.架构是系统级复用.平台是企业应用级复用. 1.设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单.那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类.对象和接口之间的关系,是前人总结的经验.比如我要在代码中实现一个全局唯一的配置类,那么就使用Singleton模式.设计模式在实际编码工作和设计框架时会被使用到,而更高层的架构和平台则不会太关注它

MVVM 一种新型架构框架

MVVM是Model-View-ViewModel的简写.微软的WPF带来了新的技术体验,如Silverlight.音频.视频.3D.动画……,这导致了软件UI层更加细节化.可定制化.同时,在技术层面,WPF也带来了 诸如Binding.Dependency Property.Routed Events.Command.DataTemplate.ControlTemplate等新特性.MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presente