最近看自己的博客,发现那篇“关于框架的胡言乱语(上)”一直没有下篇,心里实在惭愧。从小我就有虎头蛇尾的坏毛病,这么大了,竟然还没有改过来。 我再续个狗尾(不敢说续貂,充其也是狗尾续狗皮),也算是给自己有个交待。之所以把标题改成“关于架构的胡言乱语(下)”,是因为我个人觉得,框架市场的 火爆,完全是因为架构设计思想在作祟,所以我就一并胡说一下吧。

架构设计在前几年也算是相当流行,以至于程序员们都不好意思说自己是程序员了,削尖了脑袋想挤进架构设计的行列。最常听到女孩这样埋怨他的程序员男友:你咋还是软件工程师咧,你看人家老蒋,都成了系统架构师了。

我今天想说的观点是:架构设计在国内软件行业,还是处于相当尴尬的境地。

之所以会有这样的结果,是因为国内大多数的软件公司是在做项目开发的,而不是做软件开发的。(这个观点并不新鲜,很多人很早就都提到过)。也就是说,因为是项目开发,所以客户处于一个强势地位,而架构更多的是开发人员的东西(就类似于我以前说过的:跨平台只是程序员在意淫而已,永远上不了台面的)。良好的架构设计能提高开发效率、增加灵活性和可扩展性,这都没错,可是这些东西客户关心吗?客户想要什么?说白了就是:用一元钱,雇10个程序员,干一年,做出一千个模块。

成型的软件商品就象卖肉,张三卖6块钱一斤,李四卖5.8元,虽然他们卖的肉来自不同的两只猪,但只要都是屁股上的那一块,营养与味道应该都差不多吧,所以客户选择李四。做项目就象卖鞋垫,张大妈手工纳的,一天才做一双,卖十元。李大姐用机器做,一天可以做10双,只能买个1元钱,而且客户还都涌向张大妈的小店,这就是项目。

这就是我们的消费观念,没有办法。老板花钱雇你,希望看到你天天在coding,客户也花钱请你,更希望你能天天加班coding,他们可不喜欢看你每天躺在沙发上闭着眼睛思考问题,或者在电脑里画出一堆一堆的圈圈和条条,还用一种不屑地口气说:这叫设计。

客户是一方面的原因,作坊式的开发模式也是另一个原因。

国内的软件公司大多是小作坊式的,就算是神码东软这些所谓的大公司,也充其量不过是一条开了很多小作坊的大街而已(如果各个项目组之间不能Share Top,其实大公司也就是作坊扎堆,成不了大工厂)。

作坊式的团队模式,决定了软件开发仍是手艺活。程序员只是一些手工艺人,大家凑到一块,雕琢一些摆设,间或也有几件传世的精品,但这并不是因为引入了什么成功的设计模式,靠得仍是工匠们的手艺。在这个行业里,有掌柜,有师傅,也有学徒,就是没有软件蓝领。因为蓝领是一种社会分工,学徒却是人生的一个阶段,这是完全的两嘛事,如果学徒不能升级为师傅,他只能被淘汰。

因此,架构师(架构设计)+软件工人(编码),这种组合在我们的软件行业里暂时是无法实现的。

话说回来,我上面所说的,有个大前提,就是“当前”。

毕竟架构设计是软件业的未来,是我们的方向。这一点我是不敢妄自菲薄的。

关于架构的胡言乱语(下)相关推荐

  1. NVIDIA Turing Architecture架构设计(下)

    NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...

  2. Docker 教程、架构、Linux下的安装

    Table of Contents Docker 教程 谁适合阅读本教程? 阅读本教程前,您需要了解的知识 Docker的应用场景 Docker 的优点 1.快速,一致地交付您的应用程序 2.响应式部 ...

  3. 系统架构师-基础到企业应用架构-系统建模[中篇](下)

    一.上章回顾 首先.我们先来回顾下,上篇讲解的内容,加深下印象.上篇我们主要讲解了3个建模图形分别是:顺序图(序列图).组件图.状态图. 具体功能描述如下图:这里不详细解释,如果不清楚请看:系统架构师 ...

  4. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !

    来源:jianshu.com/p/a775836c7e25 引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain DrivenDesign ...

  5. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧

    引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高 ...

  6. 分布式服务架构的设计方案下—通过业务场景浅谈分布式设计思路

    文章目录 分布式业务场景分析 分布式系统提高承载量的基本手段 并发模型(多线程.异步) 缓存/缓冲 硬件故障 资源利用率优化 软件服务内容更新 数据统计 目录服务 消息队列服务(ActiveMQ.Ze ...

  7. 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写

    bootloader原理和开发-->kernel构建-->文件系统/根文件系统(filesystem/rootfs) APP 一.配置交叉编译环境(可参考嵌入式Linux移植与驱动开发co ...

  8. 基于BPMN2.0的工单系统架构设计(下)

    版权声明: 本文为博主原创文章,未经博主允许不得转载.关注公众号技术汇(ID: jishuhui_2015) 可联系到作者. 在上两篇文章中,介绍了BPMN2.0和工作流定义语言(以下简称WDL),以 ...

  9. GAMES104实录 | 引擎架构分层(下) part2

    本期为GAMES104<现代游戏引擎:从入门到实践>视频公开课文字实录第7期.本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发. 课程共 ...

最新文章

  1. djangorestframework怎么这么好用!
  2. 在VMware Workstation中设置双网卡实现SSH使用固定IP登录并且在虚拟系统中任意访问Internet...
  3. full join 和full outer join_带你了解数据库中JOIN的用法
  4. 【 Hibernate3-摘要 】 【 第1节 】:JPA常用注解
  5. SQL server 数据加密
  6. UG NX 12 内部草图和外部草图的区别
  7. numpy中的multipy, matmul, dot的区别
  8. Issue during builing Android app with ant under Win7
  9. iPhone自定义手机铃声完整版教程
  10. html图片大小单位,mm单位是什么?
  11. Word 2003域应用完全手册
  12. 《鲸鱼安慰了大海》精选篇章
  13. 【车载以太网】【SOME/IP】规范标准
  14. C语言——初识关键字、static、#define定义、指针
  15. msdtc相关问题汇总
  16. S5PV210(TQ210)裸机编程
  17. 好用计算机,六款让你电脑更好用的软件
  18. JAVA输入输出流学习心得
  19. 官宣:OpenDAL 成功进入 Apache 孵化器
  20. 专访罗永浩:之后的对手就是苹果

热门文章

  1. MFC应用程序单文档及类向导的使用
  2. 二见钟情之个人重构的心路历程
  3. Android 音频源码分析——AndroidRecord录音(一)
  4. C++11 bind函数
  5. 数据结构和算法(五)--栈(Stack)
  6. Druid线程池中的连接什么时候会关闭?
  7. 东北林业大学OJ题目3
  8. 基于Range Image的自主车辆激光雷达定位(ICRA 2021)
  9. Swagger2常用注解说明
  10. linux镜像烧录工具,树莓派操作系统镜像烧录方法指南