刷新
软件工程里的组织文化

博主头像 一、引言 本文是京东到家自动化测试体系建设过程中的一些回顾和总结,删减了部分系统设计与实践的章节,保留了组织与文化相关的内容,整理成文,以飨读者。 下面就以QA(Quality Assurance)的视角来探讨工作中经常面临的问题与挑战。 关于软件质量,不知道你有没有以下困惑: 西医中“头疼医头,脚 ...

软件设计模式系列之十四——代理模式

代理模式是一种结构型设计模式,它允许一个对象(代理)充当另一个对象的接口,以控制对该对象的访问。代理模式通常用于控制对真实对象的访问,以实现一些额外的功能,例如延迟加载、权限控制、日志记录等。这种模式属于结构型设计模式,因为它关注对象之间的组合,以形成更大的结构。 ...

软件设计模式系列之十三——享元模式

享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少内存占用或计算开销,通过共享大量细粒度对象来提高系统的性能。这种模式适用于存在大量相似对象实例,但它们的状态可以外部化(extrinsic),并且可以在多个对象之间共享的情况。 ...

Uber公司技术栈介绍

博主头像 Uber公司技术栈介绍 Uber(Uber Technologies,Inc.)中文译作“优步”,是一家美国硅谷的科技公司。Uber在2009年,由加利福尼亚大学洛杉矶分校辍学生特拉维斯·卡兰尼克和好友加勒特·坎普(Garrett Camp)创立。因旗下同名打车APP而名声大噪。Uber已经进入中国 ...

稳定性建设框架

博主头像 一、为什么要做稳定性建设 1、从熵增定律引出稳定性建设的必要性 物理学上,用“熵”来描述一个体系的混乱程度。卡尔·弗里德曼提出熵增定律,他认为在一个封闭的系统内,如果没有外力的作用,一切物质都会从有序状态向无序状态发展。 如果我们不希望系统变混乱,有什么办法呢?答案是对抗熵增定律,对抗熵增定律的方法 ...

软件设计模式系列之十二——外观模式

外观模式是一种结构型设计模式,它提供了一个简化的接口,用于访问系统中的一组相关接口,以隐藏系统的复杂性。外观模式的主要目标是简化客户端与子系统之间的交互,同时降低了系统的耦合度。它允许客户端通过一个统一的入口点来与系统进行通信,而不需要了解系统内部的具体细节和复杂性 ...

PowerDotNet平台化软件架构设计与实现系列(16):财务平台

博主头像 不同行业基本都会有自己独特的业务,甚至同行的不同企业之间的业务逻辑也会相差千里,只有最大程度抽象出通用性、标准性和普适性的系统才能够成为平台系统,平台系统开发的成本和难度可想而知。 个人深度参与或独立设计开发过的公共服务型平台系统,主要包括基础数据平台、支付平台、财务平台、结算平台、配送平台、CRM ...

软件设计模式系列之十——组合模式

组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。 组合模式允许你将对象组合成树状结构来表示"部分-整体"的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象,无需关... ...

设计模式

博主头像 设计模式 学习推荐设计模式目录:22种设计模式 (refactoringguru.cn) 图说设计模式 — Graphic Design Patterns (design-patterns.readthedocs.io) UML类图初见 什么是统一建模语言(UML)? (visual-paradig ...

软件设计模式系列之九——桥接模式

桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。 ...

设计模式(六)适配器

博主头像 一、定义 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。适配器模式是一种结构型模式。 二、描述 包含以下三个角色: 1、Target(目标抽象类):目标抽象类定义了客户所需要的接口,可以是一个抽象类或接口,也可以是一个具体的类,由于C#不支持多继承,所以它只能 ...

1、spring_helloworld

01、spring IOC基本使用 (1)使用maven的方式来构建项目 定义项目的groupId、artifactId (2)添加对应的pom依赖 4.0.0 <groupId>com.mashibing</groupId> <artifactId>springHelloword23</artif ...

软件设计模式系列之八——适配器模式

适配器模式(Adapter Pattern)是一种结构性设计模式,它允许将一个类的接口转换成客户端希望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的兼容性问题,使得不同接口的类可以一起工作。这个模式涉及一个称为适配器的类,它充当两个不同接口之间的桥梁,使得它们可以协同工作。 ...

产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库

博主头像 这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ...

软件设计模式系列之七——原型模式

原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新对象,而不是使用构造函数。原型模式将对象的创建委托给原型对象,通过克隆(复制)来生成新对象,这种方式可以避免对象的重复初始化,提高性能,并使对象的创建更加灵活和动态。 ...

系统设计之缓存五种策略

博主头像 系统设计之缓存五种策略 当我们在架构中引入缓存时,缓存和数据库之间的同步就变得不可避免。 让我们看看如何保持数据同步的五种常见策略。 1)阅读策略: 缓存在一边 通读2)写策略:写周围 回信 写通缓存策略经常组合使用。例如,write-around 通常与 cache-aside 一起使用,以确保缓 ...

工厂模式之工厂方法模式

大家好,欢迎来到程序视点! 前言 在上一节的简单工厂模式中,我们知道简单工厂所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。 也就是说,类的创建依赖工厂类,如果想要拓展程序(添加新的类),必须对工厂类进行修改。这违背了开闭原则。 从设计角度考虑,有一定的问题,如何解决? 既 ...

DDD脚手架及编码规范

博主头像 一、背景介绍 我们团队一直在持续推进业务系统的体系化治理工作,在这个过程中我们沉淀了自己的DDD脚手架项目。脚手架项目是体系化治理过程中比较重要的一环,它的作用有两点: 可以对新建的项目进行统一的规范 对于指导老项目进行DDD的改造提供指导 本文主要是梳理和总结了DDD脚手架使用中的编码规范以及遇到 ...

<1···101112···50>