品《架构漫谈》

本文深入探讨了架构产生的原因,架构的定义及其在软件开发中的作用。解析了如何识别架构问题,架构切分的原则,以及软件架构如何服务于业务需求。强调了架构师的角色,代码设计的原则,和业务、技术与架构之间的关系。

品《架构漫谈》

     经过观摩了九篇《架构漫谈》博客后,从中学到了很多软件体系架构的知识,从此盖在架构上神秘面纱被掀开了,下面我将体会到的几点感悟与大家分享:

     首先为何会产生架构?当人们对人类生存所做出的工作进行分工合作时,此时就产生了架构。那么架构是什么呢?把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。架构是根据要解决的问题,对目标系统的边界进行界定;并对目标系统按某个原则的进行切分;并对这些切分出来的部分,设立沟通机制;最后根据沟通机制,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。接下来就是识别架构,要想很好的识别架构,那么要搞清楚2个问题,其一是“这是谁的问题?” ,其二是“有什么问题?”。明白了问题的主体,就知道了要解决问题的边界约束,那么随之就可以目标明确的去解决问题了。

     做好了架构识别后,接下来就需要进行架构了,但是架构毕竟是人来进行的,故必然会涉及到利益问题,为此采取的策略是对架构进行切分。对架构进行切分需要禀行一下几个原则:不能切分一个必须在连续时间内发生的活动;切分出来的负责人对此部分享有平等的权利和义务;切分出来的部分不可超过一个人的负载;切分对整个系统外部应是透明的。

     软件架构其实需要解决两个问题,一个是业务问题,另一个是计算机问题。业务问题的本质,是业务所服务的对象的利益问题,明白之后才能搞清业务的概念和组织方式。软件架构需要软件的组织架构和流程来保障,其目标是完成业务在计算机中的虚拟化。

     当我们所做的工作是处于社会的分工的一环,需要帮助别人解决问题,并且按时解决别人的问题成为我们自己的问题的时候,我们就有了时间压力,潜意识里会自然而然的有一种对时间的恐惧。这个恐惧在潜意识里面会想方设法推动我们采用各种手段,以便及时的完成工作,换取报酬。作为架构师必须要超越这个恐惧,只有把完成别人工作当成自己的最大利益,才能成为合格的架构师。

     软件实际上是对现实生活的模拟,虚拟化,这决定了代码应该分为两部分,即表达业务逻辑的代码和对用户提供访问并保存业务逻辑运行结果的代码。要想快速的完成代码工作,就要克服自己对时间的恐惧,真正的去研究业务的问题,相关stakeholder的利益,把这个变成我们的习惯。写代码的时候让该出现逻辑的地方出现逻辑,让不该出现的地方不能出现。

     最后一点,但也是最重要的一点,就是理清技术与架构以及与业务之间的关系:技术是为了解决业务的问题而产生的,没有了业务,技术就没有了存在的前提;一切技术都得遵循人类利益的诉求--业务;一般先有技术,才有架构,不同的技术通过树状结构组合在一起,便形成了一个完整的架构解决方案,以便共同完成业务的目标。当然作为软件架构师,只有具备了准确识别采用什么技术的能力,才能和技术人员较和谐的实现业务目标,达到最终的目的!

 

转载于:https://www.cnblogs.com/Twinklelittlestar/p/5443664.html

Java是一种具备卓越性能与广泛平台适应性的高级程序设计语言,最初由Sun Microsystems(现属Oracle公司)的James Gosling及其团队于1995年正式发布。该语言在设计上追求简洁性、稳定性、可移植性以及并发处理能力,同时具备动态执行特性。其核心特征与显著优点可归纳如下: **平台无关性**:遵循“一次编写,随处运行”的理念,Java编写的程序能够在多种操作系统与硬件环境中执行,无需针对不同平台进行修改。这一特性主要依赖于Java虚拟机(JVM)的实现,JVM作为程序与底层系统之间的中间层,负责解释并执行编译后的字节码。 **面向对象范式**:Java全面贯彻面向对象的设计原则,提供对封装、继承、多态等机制的完整支持。这种设计方式有助于构建结构清晰、模块独立的代码,提升软件的可维护性与扩展性。 **并发编程支持**:语言层面集成了多线程处理能力,允许开发者构建能够同时执行多项任务的应用程序。这一特性尤其适用于需要高并发处理的场景,例如服务器端软件、网络服务及大规模分布式系统。 **自动内存管理**:通过内置的垃圾回收机制,Java运行时环境能够自动识别并释放不再使用的对象所占用的内存空间。这不仅降低了开发者在内存管理方面的工作负担,也有效减少了因手动管理内存可能引发的内存泄漏问题。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值