日期:2022/04/05 21:59作者:佚名人气:
建筑的定义
分析设计在满足规定要求方面的有效性。在设计更改相对容易的阶段,考虑可能的架构选项。降低与软件构造相关的风险。软件架构生命周期
软件开发有它的生命周期,它应该是:
而软件架构也有它的生命周期,它是什么样的?
软件架构的重要性
为什么软件架构很重要?直接编程和直接开发,如何EASY?请看以下几点:
什么是好的软件架构
这个问题可能每个人都问过,包括一些IT公司。这个问题的答案可能不仅仅通过简单的陈述或定义来回答,让我们看一下以下图片示例:
这是什么东西?乐高,大家一定都玩过乐高吧?
它可以作为一个完整的模型出售给您,或者您可以将其全部分解并自由地从一个模型重新组装到另一个模型,因为每个乐高模块在水平和垂直方向上都有一个标准。接口,也就是我们常说的高内聚低耦合。
什么是糟糕的架构
看看上图,这是什么?
一是大清八足文,二是孔乙己。
你还记得写回子的四种写法吗?
嗯,你专门研究了四种写徽子的方法,但是你有没有想过我可以把徽子折成几个字?划算吗?
知道最时髦的不一定是最好的
为什么M1A2和阿帕奇直升机没有A8处理器,或者最新的奔腾处理器?实用,久经考验才是最好的!
成功的软件是什么样的?
我们讲的是软件架构,而架构的最终体现就是软件,那么什么是成功的架构,什么是成功的软件呢?
看左图是美国“阿利伯克级”宙斯盾驱逐舰,右图是印度模仿美国宙斯盾设计建造的“德里级”“库里盾”驱逐舰。
两艘战舰的对比如何?
建筑之美
建筑,建筑,建筑到底是什么?我上大学的时候,有一位70多岁的老教授。他在课堂上每讲课20分钟,就需要2个同学去上一届WC。当然,我们的建筑师并不是指这种“建筑湿润”。那么我们一直在谈论的架构是一个什么样的东西呢?我们如何才能做出完美的结构?
建筑就像一个流浪的拳头
动作轻巧敏捷,灵活多变
它实际上违反了所有传统的拳击方法,因此可以战胜敌人并获胜。
建筑就像独孤九剑
破剑、破枪、无招胜架构师,源于传统武术,拓展了传统武术
建筑就像一件艺术品
有时,看似简单的结构往往是一件艺术品。
你认识这幅画吗?他是挪威画家蒙克的一幅名为《呐喊》的作品。蒙克是个疯子。这幅画很简单,就像涂鸦一样,但你知道这幅画值多少钱吗?2012 年,这幅画在纽约苏富比以 1. 19 亿美元的价格售出。
建筑的心情
一个好的架构不应该受限于框架,受限于语言,受限于技术,受限于各种规章制度,它是一种意境。
架构中需要考虑的几个基本因素 JAVA通用领域的相关技术
当然,我们这里主要讲的是JAVA,那么作为一个学习JAVA和J2EE的架构师,需要具备什么样的技能才能达到架构师的水平呢?
上图,我们这样看,它分为3个部分:
最上面是我们需要掌握的一些技术领域的知识。它可以使我们在电子商务、企业OA、银行保险和金融等一般领域处理一些解决方案和设计中间部分。为了登顶,我们需要了解其中一些技术中间件、数据库、开发框架的知识,是一个支柱的底层。底部呢?它是我们的基础,是我们走向中间或更高的基石,这就是为什么人们有时会发现我的博客与其他博客不同,不仅是编程还有“中间”层,也就是数据库的原因,性能、安全、框架搭建混在一起,因为我不希望大家看完我的博客就停留在码农、码农、螺丝钉的水平。建筑师的角色
说了这么多架构,让我们来谈谈架构师。
看到了吗,架构师的首要职责就是关注:非,即非功能性需求。
许多人仍然不知道功能性需求和非功能性需求之间的界限。让我在这里举两个例子:
功能要求
页面查询,这个查询关联了哪些数据库表,因为我的业务有这样的需求,在界面A点击一个按钮,然后弹出窗口B,窗口B应该显示什么样的数据,最后界面点击后在A中,当我打开界面B时,哪条数据发生了变化。
非功能性需求
我们系统的查询速度小于2S。我们是否考虑使用异步查询和队列机制?系统要求它可以容纳1000个并发用户。该系统必须是可插件的,可以横向扩展的,并且必须符合XXX协议。带有 BASIC 身份验证、符合 NTLM 的身份验证或令牌环身份验证的 SOAP HEAD?这个下拉框需要输入和下拉。这块认证需要访问LDAP吗?
很多以业务为导向的项目型公司认为架构师是(即排查故障,即如果有错误和问题,那就找架构师),把架构师当成(消防员),但你不是你自己。想想为什么会出现问题。架构师可以来这里2秒、2分钟、或者一天半的时间,解决几十个人一个月都解决不了的问题。嗯?
解决了架构师,说这是别人应该做的,如果解决不了,还说他们的建筑师不合格呢?我们是不是应该从这个软件最早的框架和架构中发现一些问题呢?
建筑师,这不是问题。
节前我也进行了一些面试,从纯技术角度,也就是走架构师,TECH路线的候选人。
还是发现了很多问题,这也是国内的通病:就是我们的程序员很多时候不是在做程序,更多的时候是在做业务逻辑,已经成为某个领域的业务人员。
当然,我们的程序员在职业生涯的前 3 或 4 年都在某个领域做代码。这没问题,但请记住,我们是编码、IT 和程序员。,而不是“商人”!!!
它是什么?什么是程序员?什么是科技?什么是建筑师?
你有必要问自己这个问题并思考一下。建筑师的要求是什么?
在这里随便说一句:相信对一些想走技术路的同学会有所帮助:
TCP/IP协议、加解密、计算机原理(反码)、JPG码、MPEG2-3协议、逻辑电子电路、计算机编译器原理(堆、栈、队列),你工作的时候经常用到这些东西吗?? 这些是您一直关注的底层吗?
如果要走技术路线,一定要记住,“数据库+ASP/JSP”不是技术,只是比表格制作、报表制作人员强一点而已。
请记住,技术路线侧重于非功能性需求。非功能性需求是万能的。有了这样的背景,任何需求都向你解释清楚,对你没有任何帮助。“难”,还是去学了,可以推断出其他的东西。最近,我一直在面试一些建筑师的候选人。在这个过程中,我深深地感受到了这一点。找程序员做开发不难,但招架构师就难了。. . 唉,我觉得大家有必要好好想想。如果走技术路线,漏了什么,怎么弥补,需要注意什么?
科学技术是第一生产力。管理方法论中所谓的六西格玛就是六西格玛的第一项,即“技术人才是当前企业的第一生产力”。让我们看看哪些公司可以发财?阿里、淘宝、支付宝、腾迅、互联网、高科技等一些公司,他们不靠商业逻辑,而是靠技术,这足以说明问题,所以如果你想走技术路,请多注意 让我们看更多细节,更多低级的东西。
这也是我在之前的博文中描述这些事情的原因,其中展示了企业 IT 项目开发的七大罪过。
建筑师分类
建筑师一般分为:
其实严格来说,建筑师可以分为三类:
通常,它是系统架构师和应用程序架构师的组合。从本质上讲,这并没有太大的区别,也没有害处。
建筑师做什么
架构师在团队或企业中从事什么样的日常工作?
建筑师不是万能的
建筑师很好,但建筑师也是人,他不是超人。
建筑师需要掌握的软技能
技术是架构师的硬技能,那么架构师的软技能是什么?
建筑师不是皇冠上的明珠
大家一定要记住,建筑师绝不是大家想的那样,所谓的皇冠上的明珠,建筑师的责任是相当大的。
如何成为一名建筑师
人类是如何进化的?
学习,使用工具,进行社会协作,不断从经验中学习。
架构师也退化为比普通程序员差
如果你停止学习的步伐,那么。. . . . .
谈建筑师修身学习需要掌握的基本功
请注意,以上列表在学习时是按顺序排列的,从上到下分别是第一步、第二步、第三步。. . . . . 不要觉得无聊,可以试试,真的,折腾得开心。
糟糕的复制好偷窃让你的头脑正确,需要不断的自我激励
成功的唯一途径是承认现实,超越它,拥有勇气并善用它。