老李浅谈架构
前言
混了这么久的Android,从0到1的项目也整了几个了,今天不聊专业的技术聊点“高大上”有情怀的东西,也算是对自己的总结和工作当中得出来的格局反思。
本次所有架构设计和思想都是原创,都是基于目前市场流行的架构设计和架构技术以及自己的经验自研的一套新型的架构设计。如有雷同纯属撞衫。撞衫不可怕谁丑谁尴尬,哈哈。
架构师是谁?
说到架构,家喻户晓,各行各业都在说,貌似每个行业没有架构师都是一个失败的行业,至少第一印象是low的感觉。
架构师是每个行业技术人员的梦想,在每个行业中也占据很重要的坑。
然而,架构师到底是谁?什么样的人才能成为一个合格的架构师?
这个答案估计没有答案。如果真有,我不信!除非有人颠覆马克思的万事万物没有绝对的真理。
但是,每个人的还是有资格发表意见的,比如我,我就单从移动端的架构来谈谈我对技术架构的认知。我认为人人都是架构师,只要你还有思维。
以下所有认知仅限于本人的认知,不带有任何偏见和真理。
架构师存在的意义
让产品稳,让体验可以拿出去吹牛逼,让技术点可以拿出去賺钱,让编码效率高……说到底让老板脸上有光,让公司賺钱。
架构师要具备的素质
跳出技术的圈子再来看架构师,架构师不能再是狭义上技术高手,解决问题的高手。因为技术牛逼不一定帮老板賺钱,解决问题快也不一定能帮老板分忧。说到底一切不能为公司谋利益的存在都是公司的负担。
所以,想成为好的架构师你还要具备以下素质。
1. 良好的沟通和协调能力,现在都是团队作战,虽然你一览纵山小,但是小弟听话好好干活,你可能会被累死。
2. 敏锐的技术洞察能力,好的技术,新的技术不一定用,但是必须得懂,因为你随时可能会被挑战,基本的生存能力得具备,不要做打脸的事情。
3. 清晰的产品业务技术定位,技术千千万,准确定位符合自己业务产品的技术,能快速搭建跑起来的架构也是衡量一个架构师的能力,否则,架构用得技术再牛逼不适用业务等于浪费时间,又或者大技术用小业务也等于是浪费时间,你满足的只是你技术快感,失去的却是业务时间,等你设计完公司都凉了,我想老板应该不会夸你。
4. 有一定的产品意识和一定的业务定向能力,这直接取决于你架构的体格是大是小以及你技术的选型,业务决定架构,架构反射业务,尽可能的让未来可能的业务去匹配你架构预留的一切技术扩展。如果囊括不了,后续动不动就重构,你快乐吗?
5. 除了以上几点,架构师不能只对技术负责,学会承担更大的责任,更是要把钱看的很重,敏感一切与钱有关的数据,想想这些数据能不能通过你的技术点去改变。让技术反驱动产品,一定程度上挑战产品,把产品打败是不是很爽,产品天天横,你真能忍吗?
6. 最后一点很关键,让别人喜欢你。码农喜欢你,因为你的架构让他不加班;产品喜欢你,你的架构让需求很顺利;测试喜欢你,你的架构很稳……总之你要学会怎样成为万人迷。
好了,就不再做延伸了,接下来是我对架构的一些认知。欢迎吐槽。
新型架构核心技术点
2
新型架构分析
架构思考
我先站在自己的角度回答两个通俗的问题。
1. 应用是什么?
2.架构是什么?
我的回答如图:
图解:
说白了架构就是能稀释所有的功能,最终输出稳定的终端产品,这就是架构!应用则是架构输出的终端产品。
架构的特点
通过图架构所处地位可以归结出架构应具有以下的特点。
1.极高的扩展性– 去应付五花八门的需求
2.良好的封装性– 去提供简易的api
3.移植性高,可读性高。-- 不要的及时剔除,及时更换新的技术框架。
4.编程的简洁性–- 适应敏捷高效的开发。
5.极高的稳定性– 除非重生,否则任你蹂躏。
新型架构设计
新型架构的理念
我的架构的思想遵循自己的原创思维四个面向:面向人群,面向业务,面向变化,面向技术。
理念解释:
架构思想:
说明:整个设计思想模型是根据架构的特点是由点到面往外扩展,最终所有的核心操作又聚焦在架构当中,形成架构的闭环。
新型架构雏形
架构图解:
1. 架构的设计理念遵循四个面向和遵循架构应具有的特点。
2. 根据架构的特性,围绕四个面向给架构分层,然后具体业务,以上到下的分而治之的原则达到独立低耦合,以简洁通用的原则达到低内聚。
3. 整个架构线明确且独立,对后续的架构改善也起到非常好的扩展性。
总结:
有的时候技术跳出来看问题,你会发现你的技术还可以玩出新花样。
毕竟人的认知决定人的成长。横向思考问题,专业解决问题,你会发现,我操,我特么是天才,我的脑子开挂了,以前看不懂的android源码再来看看分分钟能看懂。原来都是一个套路,只不过是套路的大小和深浅罢了,细细品味,设计思维几乎一样。
总之,当你掌握了思维,学会了全面看问题,画繁为简,又有浅入深,那么你的认知可能会上一个层次,不要太在意得与失,不要太在意你技术人员的身份,太尊重和专注技术有可能会被技术奴隶。
当然,一切取决于你的人生规划。但是,如果想成为一个好的架构师,只是技术牛逼只能说你专业可以。不代表你的技术产出会得出认可。