热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

软件体系架构

架构在软件发明的很多年前就已经存在了,但是架构的定义一直不是很明确。由于产生分工把所有事情划分为由不同角色的人来完成然后再进行交易,这实际上就形成了社会的架构。对于不同的行业,都可以有

    架构在软件发明的很多年前就已经存在了,但是架构的定义一直不是很明确。

    由于产生分工把所有事情划分为由不同角色的人来完成然后再进行交易,这实际上就形成了社会的架构。对于不同的行业,都可以有同样的思考,根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构实际上解决的是人的问题,而概念是认识这个世界的基础。根据架构的定义,能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。做好框架首先要识别出需要解决的问题,这个能力基本上决定了架构师的水平。架构师应该问的第一个正确的问题就是目标问题是谁的问题。找出问题的主体是做架构的首要问题,要明白是谁的问题,有什么问题。

    切分就是利益的调整,由于利益,人们认识到要主动的去切分一个系统。构架切分的最终结果都会体现在组织构架上,只有这样才能够让构架落地并推进,构架切分的结果一定是树状。软件就是在硬件上编写的程序,用来控制硬件的行为。利用软件使每个人能够负担的工作越来越多,成本越爱越低。软件工程师不堪重负,自然而然就分拆为不同的角色,形成了一个独特的架构体系。软件实际上就是把现实生活模拟到计算机中,需要解决业务以及计算机问题。软件架构的落地,需要软件的组织架构和流程来保障,不管怎么分拆,所达到的目标没有任何变化,就是完成业务在计算机中的虚拟化。

    要成为架构师,必须要明白解决的是别人的问题,而不是自己完成工作的问题,成本越低越号,并且这个成本是长期成本。明白如果问题不解决,究竟谁会有利益的损失? 如果问题解决了,究竟谁会有收益,谁的收益最大?这两个问题才能知道问题的主体 。架构师是要去平衡别人的利益,甚至去调整别人的利益,但是架构师也一定要了解一定的技术以及语言的知识。结合每个部署单元所承担的责任,可以拆分成表达业务逻辑的代码、对用户提供访问并保存业务逻辑运行结果的代码。技术是为了解决业务的问题而产生的,没有业务就没有技术存在的前提,对于架构师来说专注计算机相关的技术,忽略业务本身,可能会产生技术和业务冲突的问题,架构师应该承担起解决业务问题的角色来,专注于Business Domain和软件本身的架构,让技术人员致力于为业务在计算机中跑起来而努力。只有把这两者很好的结合起来,才能更好地完成业务的目标,才会让软件更好地服务于大家。架构师要具备准确识别采用什么技术的能力,考虑的主要因素也是长期的成本和收益。

    这就是看完架构漫谈之后对于架构的认知。


推荐阅读
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文基于对相关论文和开源代码的研究,详细介绍了LOAM(激光雷达里程计与建图)的工作原理,并对其关键技术进行了分析。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • JavaScript中属性节点的类型及应用
    本文深入探讨了JavaScript中属性节点的不同类型及其在实际开发中的应用,帮助开发者更好地理解和处理HTML元素的属性。通过具体的案例和代码示例,我们将详细解析如何操作这些属性节点。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • 探索弱监督开放域问答中的潜在检索机制
    本文探讨了在弱监督环境下,开放域问答系统中潜在检索技术的应用。通过引入反隐式任务预训练方法,研究展示了如何仅依赖问题答案对进行端到端的联合学习,而无需传统的信息检索系统。实验结果表明,在某些数据集上,这种新方法显著优于传统方法。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
author-avatar
手机用户2502910651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有