关于架构的胡言乱语(下)
最近看自己的博客,发现那篇“关于框架的胡言乱语(上)”一直没有下篇,心里实在惭愧。从小我就有虎头蛇尾的坏毛病,这么大了,竟然还没有改过来。 我再续个狗尾(不敢说续貂,充其也是狗尾续狗皮),也算是给自己有个交待。之所以把标题改成“关于架构的胡言乱语(下)”,是因为我个人觉得,框架市场的 火爆,完全是因为架构设计思想在作祟,所以我就一并胡说一下吧。
架构设计在前几年也算是相当流行,以至于程序员们都不好意思说自己是程序员了,削尖了脑袋想挤进架构设计的行列。最常听到女孩这样埋怨他的程序员男友:你咋还是软件工程师咧,你看人家老蒋,都成了系统架构师了。
我今天想说的观点是:架构设计在国内软件行业,还是处于相当尴尬的境地。
之所以会有这样的结果,是因为国内大多数的软件公司是在做项目开发的,而不是做软件开发的。(这个观点并不新鲜,很多人很早就都提到过)。也就是说,因为是项目开发,所以客户处于一个强势地位,而架构更多的是开发人员的东西(就类似于我以前说过的:跨平台只是程序员在意淫而已,永远上不了台面的)。良好的架构设计能提高开发效率、增加灵活性和可扩展性,这都没错,可是这些东西客户关心吗?客户想要什么?说白了就是:用一元钱,雇10个程序员,干一年,做出一千个模块。
成型的软件商品就象卖肉,张三卖6块钱一斤,李四卖5.8元,虽然他们卖的肉来自不同的两只猪,但只要都是屁股上的那一块,营养与味道应该都差不多吧,所以客户选择李四。做项目就象卖鞋垫,张大妈手工纳的,一天才做一双,卖十元。李大姐用机器做,一天可以做10双,只能买个1元钱,而且客户还都涌向张大妈的小店,这就是项目。
这就是我们的消费观念,没有办法。老板花钱雇你,希望看到你天天在coding,客户也花钱请你,更希望你能天天加班coding,他们可不喜欢看你每天躺在沙发上闭着眼睛思考问题,或者在电脑里画出一堆一堆的圈圈和条条,还用一种不屑地口气说:这叫设计。
客户是一方面的原因,作坊式的开发模式也是另一个原因。
国内的软件公司大多是小作坊式的,就算是神码东软这些所谓的大公司,也充其量不过是一条开了很多小作坊的大街而已(如果各个项目组之间不能Share Top,其实大公司也就是作坊扎堆,成不了大工厂)。
作坊式的团队模式,决定了软件开发仍是手艺活。程序员只是一些手工艺人,大家凑到一块,雕琢一些摆设,间或也有几件传世的精品,但这并不是因为引入了什么成功的设计模式,靠得仍是工匠们的手艺。在这个行业里,有掌柜,有师傅,也有学徒,就是没有软件蓝领。因为蓝领是一种社会分工,学徒却是人生的一个阶段,这是完全的两嘛事,如果学徒不能升级为师傅,他只能被淘汰。
因此,架构师(架构设计)+软件工人(编码),这种组合在我们的软件行业里暂时是无法实现的。
话说回来,我上面所说的,有个大前提,就是“当前”。
毕竟架构设计是软件业的未来,是我们的方向。这一点我是不敢妄自菲薄的。
关于架构的胡言乱语(下)相关推荐
- NVIDIA Turing Architecture架构设计(下)
NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...
- Docker 教程、架构、Linux下的安装
Table of Contents Docker 教程 谁适合阅读本教程? 阅读本教程前,您需要了解的知识 Docker的应用场景 Docker 的优点 1.快速,一致地交付您的应用程序 2.响应式部 ...
- 系统架构师-基础到企业应用架构-系统建模[中篇](下)
一.上章回顾 首先.我们先来回顾下,上篇讲解的内容,加深下印象.上篇我们主要讲解了3个建模图形分别是:顺序图(序列图).组件图.状态图. 具体功能描述如下图:这里不详细解释,如果不清楚请看:系统架构师 ...
- 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !
来源:jianshu.com/p/a775836c7e25 引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain DrivenDesign ...
- 还在搞三层架构?了解下 DDD 分层架构的三种模式吧
引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高 ...
- 分布式服务架构的设计方案下—通过业务场景浅谈分布式设计思路
文章目录 分布式业务场景分析 分布式系统提高承载量的基本手段 并发模型(多线程.异步) 缓存/缓冲 硬件故障 资源利用率优化 软件服务内容更新 数据统计 目录服务 消息队列服务(ActiveMQ.Ze ...
- 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写
bootloader原理和开发-->kernel构建-->文件系统/根文件系统(filesystem/rootfs) APP 一.配置交叉编译环境(可参考嵌入式Linux移植与驱动开发co ...
- 基于BPMN2.0的工单系统架构设计(下)
版权声明: 本文为博主原创文章,未经博主允许不得转载.关注公众号技术汇(ID: jishuhui_2015) 可联系到作者. 在上两篇文章中,介绍了BPMN2.0和工作流定义语言(以下简称WDL),以 ...
- GAMES104实录 | 引擎架构分层(下) part2
本期为GAMES104<现代游戏引擎:从入门到实践>视频公开课文字实录第7期.本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发. 课程共 ...
最新文章
- djangorestframework怎么这么好用!
- 在VMware Workstation中设置双网卡实现SSH使用固定IP登录并且在虚拟系统中任意访问Internet...
- full join 和full outer join_带你了解数据库中JOIN的用法
- 【 Hibernate3-摘要 】 【 第1节 】:JPA常用注解
- SQL server 数据加密
- UG NX 12 内部草图和外部草图的区别
- numpy中的multipy, matmul, dot的区别
- Issue during builing Android app with ant under Win7
- iPhone自定义手机铃声完整版教程
- html图片大小单位,mm单位是什么?
- Word 2003域应用完全手册
- 《鲸鱼安慰了大海》精选篇章
- 【车载以太网】【SOME/IP】规范标准
- C语言——初识关键字、static、#define定义、指针
- msdtc相关问题汇总
- S5PV210(TQ210)裸机编程
- 好用计算机,六款让你电脑更好用的软件
- JAVA输入输出流学习心得
- 官宣:OpenDAL 成功进入 Apache 孵化器
- 专访罗永浩:之后的对手就是苹果