背景业务背景豆瓣在 2014 年聚合了移动端业务,推出了一款叫“豆瓣”的App。随着豆瓣App 的发展,豆瓣越来越多的业务线被纳入其中。豆瓣App 代码量越来越多,功能越来越复杂,体积越来越庞大。为了更从容地应对这种状况,使整个项目更健康,我们实施了模块化。模块化的最终目的是独立出几个业务模块,使得各个业务模块互不干扰,可以独立开发。但其实在当前的豆瓣,豆瓣App 的开发仍然由是一个团队负责,并没
转载 2023-08-07 23:21:57
37阅读
软件架构实践阅读笔记3第三部分是分析架构在构架商业周期中,设计师已经设计了构架并将其编成了文档。现在的任务是,讨论如何评估和分析构架,以确保该构架满足了需求,能够正常发挥作用。这就是第田部分的重点,我们首先回答关于构架评估的一些基本问题一原因、 时间、成本、收益、技巧、计划内、计划外、前置条件及结果。那么为什么我们要分析架构呢因为关于系统构架的一个最重要的事实是,可以通过了解构架获知系统
转载 2023-07-26 20:42:23
46阅读
系统的软件架构在系统开发和开发该架构的组织的构架的组织中起到了一个中心作用。对于系统和开发系统的项目,构架起到的是蓝图的作用。它定义了必须由设计和实现小组完成的工作任务,是系统质量属性的主要载体。      在完成软件构架的实现之后我们需要编写文档来解释我们的构架,即使构架非常完美,但如果没有人理解它,或主要的涉众误解了它,它也没有什么用处。如果我们创建了一
软件开发中,软件架构是一个非常重要的概念。它定义了软件系统的结构和组件之间的关系,是设计和实现一个可靠、可扩展和易维护的软件系统的基础。软件架构实践指导着开发团队如何组织代码、模块化功能以及处理系统的复杂性。 在软件架构实践中,设计模式是一个非常重要的概念。设计模式是经过实践验证的最佳实践,可以帮助开发人员解决常见的设计问题。例如,工厂模式、单例模式、观察者模式等都是常见的设计模式,可以帮助开
原创 2024-03-18 03:10:34
202阅读
  为了创建真正能为用户活动创造价值的软件,开发团队必须运用一整套与这些活动有关的知识体系——所需知识的广度、信息量和复杂度。模型正是用于解决信息超载问题的工具。领域模型是经过严格组织并精心选择的抽象知识。建立领域模型是出于某种目的而概括地反映现实。  领域驱动设计分为两个阶段:  1、以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概
我们所使用的工具深刻地影响着我们的思考习惯,从而也影响了我们的思考能力。——Edsger Dijkstra本篇记录6大步骤中的第四步:概念架构设计。包括如下内容:概念架构是什么?概念架构怎么样?概念架构设计实践要领1、概念架构是什么作者总结到:概念架构是直指系统目标的设计思想、重大选择。概念架构,是关乎任何复杂系统成败的最关键的、指向性的设计。其贵在有针对性,“直至目标”、“设计思想”、“重大选择
第十章 架构为中心1、什么是构架?(10.0分) 正确答案: 构架(Architecture)是一个系统的组织结构,包括:系统分解的各个组成部分、各部分相互之间的连接性、交互机制、以及指导系统设计的相关规则。 或者更详细地说明为以下四个内容: 1)软件系统的组织。 2)构成系统的结构元素和各元素之间的接口,以及由元素间协作所规定的各元素的行为。 3)结构元素和行为元素合成为逐渐增大的子系统。 4)
我对嵌入式系统平台的定义很简单:能让电子产品的原因程序得以顺利开发的环境,主要包括;系统软件与驱动程序硬件平台开发环境(compiler、调试与下载工具)模拟器程序编写规范所以,在嵌入式软件开发团队中一般会有一个 “系统平台组”,他们的工作主要有:系统架构设计与实现嵌入式操作系统设计与实现API设计与实现存储器使用配置(规范某个模块或程序能使用的存储器地址范围)开发环境设计模拟器设计与实现 系统整
软件架构实践读后感一 想要阅读软件架构相关的书籍,在网上查找了很久,《软件架构实践》进入了我的视线,在网上看了很多关于这本书的评论感觉还不错,准备深读一下,我了解到《软件构架实践(第3版•影印版)》是一本荣获大奖且影响深远的经典,目前已经全面修订,充分体现了这一领域的最新进展。基于软件开发的真实现状,《软件构架实践(第3版•影印版)》再次以全新的角度引入软件构架的相关概念和最佳实践,阐述
这是一个群的聊天记录  有删节 软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师陈述软件构架作为满足不同客户的需求的实际系统设计方案基础。 软件架构师与客户商谈概念上的事情,与经理商谈广泛的设
软件架构实践在1-6章主要讲述创建架构的基础,介绍了一组广泛的基本概念和原理,主要是架构的商业方面,架构视图和架构,质量属性,和质量属性的结构战术和模式。后面开始讲述具体的架构设计,这也是比较重要的环节,因此我反复研读。以前,我们提到一个概念叫做生命周期,好像是从出入编程的时候就已经知道了这个词,说的是时限性,而架构也是如此。目前有几个生命期模型,架构放在一个合适的模型是演变交付的生命期模型。该模
 一、实验名称 多美丽KTV点歌系统概要设计 二、实验目的 完成多美丽KTV点歌系统概要设计,建立概要设计模型;系统掌握软件开发过程中概要设计过程和内容。 三、实验主要内容 根据需求分析的结果,建立概要设计模型,构建系统业务和模块(或者类)之间的逻辑关系模型。 四、实验原理 概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构
一、识别复杂度举例:设计一个亿级用户平台设计,直接对标腾讯的 QQ,按照腾讯 QQ的用户量级和功能复杂度进行设计,高性能、高可用、可扩展、安全等技术一应俱全,一开始就设计出了 40 多个子系统,然后投入大量人力开发了将近 1 年时间才跌跌撞撞地正式上线。上线后发现之前的过度设计完全是多此一举,而且带来很多问题:1、系统复杂无比,运维效率低下,每次业务版本升级都需要十几个子系统同步升级,操作步骤复杂
集成系统架构、企业门户架构的设计实践;7、真实案例分析各行业软件架构实践。课程目标:1、掌握软件架构设计思想及本质;2、掌握软件架构建模,4
转载 2023-07-03 09:49:34
100阅读
# 软件架构实践:构建可维护和可扩展的系统 在现代软件开发中,软件架构扮演了至关重要的角色。良好的软件架构可以提高系统的可维护性和可扩展性,为开发团队提供清晰的结构和可视化指导。本文将探讨软件架构的基本原则,提供一个简单的代码示例,并用类图和甘特图来展示一个小项目的架构与进度。 ## 软件架构的基本原则 1. **单一责任原则**:每个模块或类应只有一个责任,降低耦合度。 2. **开放-关
原创 2024-09-23 03:10:29
42阅读
一、设计模式与编程语言1.1 什么是设计模式设计模式(Design pattern):由软件开发人员在软件开发中面临常见问题的解决方案,是经过长时间的试验积累总结出来的,它使设计更加灵活和优雅,复用性更好。从实用的角度来看,它代表了某一类问题的最佳实践。设计模式到底解决了开发过程中的哪些难题呢,它又是如何来解决的呢?其核心是:复用和解耦。使不稳定依赖于稳定、具体依赖于抽象,以此增强软件设计适应变化
  1-6章讲述的创建架构的基础,介绍了一组广泛的基本概念和原理,主要是架构的商业方面,架构视图和架构,质量属性,和质量属性的结构战术和模式。于第七章开始讲述如何设计架构。         以前,我们提到一个概念叫做生命周期,好像是从出入编程的时候就已经知道了这个词,说的是时限性,而架构也是如此。目前有几个生命期模型,
    《实现质量属性》这一章为我们提供了每个质量属性的构架方面的指导。一个好的设计需要实现一些质量属性,实现这些质量属性依赖于基本的设计决策,战术就是影响质量属性响应控制的设计决策。     了解到的第一个可用性战术是阻止错误发展成故障的,把错误的影响限制在一定范围里,从而使修复成为可能。既然出现错误,就要进行错误检测,广泛用于识别错误的3个战术
文章目录前言《高并发架构实战:从需求分析到系统设计》《架构师的自我修炼:技术、架构和未来》《中台架构与实现:基于DDD和微服务》《分布式系统架构架构策略与难题求解》《流程自动化实战:系统架构软件开发视角 》《分布式系统架构与开发:技术原理与面试题解析》《服务端开发:技术、方法与实用解决方案》《现代C++软件架构:方法与实践》《软件架构实践(原书第4版)》《解决方案架构师修炼之道》 前言相信大家
寒假生活读《软件构架实践》7-9章后感在了解了构架的商业方面、构架视图和结构、质量属性等知识,这部分内容旨在构架的设计以及当构架逐渐形成时应该做什么。软件架构的设计是指通过一系列的设计活动,获得满足系统功能性需求(简称FR),并且符合一定非功能性需求(简称NFR,与质量属性有相似涵义)约束的软件架构模型。软件架构设计过程的本质在于:将系统分解成相应的组成成分(如构件、连接件),并将这些成分重新组装
  • 1
  • 2
  • 3
  • 4
  • 5