抽象工厂模式:创建高效强大的对象家族
大家好,欢迎来到程序视点!今天要分享的是工厂模式的最后一种模式:抽象工厂模式。 前言 在上一篇文章:设计模式之工厂方法模式 最后,我们通过示例展示了两个问题。归纳起来就是: 每次增加一个产品时,都需要增加一个具体类和一个对象实现工厂。 随着产品类的增多,使得系统中类的个数成倍增加,在一定程度上增 ...阅读全文
大家好,欢迎来到程序视点!今天要分享的是工厂模式的最后一种模式:抽象工厂模式。 前言 在上一篇文章:设计模式之工厂方法模式 最后,我们通过示例展示了两个问题。归纳起来就是: 每次增加一个产品时,都需要增加一个具体类和一个对象实现工厂。 随着产品类的增多,使得系统中类的个数成倍增加,在一定程度上增 ...阅读全文
上游服务和下游服务 在网络通信中,数据流的方向确实通常是由上游到下游,因此,下游服务接收请求并发送响应,而上游服务发送请求并接收响应。感谢您的指正,对于了解和描述数据流的方向非常重要,而上游服务通常是请求的发起方,下游服务通常是响应的接收方。 以nginx为例说一下 浏览器发去某个域名,到达DNS解 ...阅读全文
本文总结了软件开发过程中经常用到的基础常识,分为基础篇和实践篇两个篇章,其中基础篇中着重讲述了类,方法,变量的命名规范以及代码注释好坏的评判标准。实践篇中从类,方法以及对象三个层面分析了常见的技术概念和落地实践,希望这些常识能够为读者带来一些思考和帮助。 ...阅读全文
架构的范畴太大太广,本文尝试从一个点切入阐述一下个人的认知。有太多相关性的问题想去阐述,比如SOA与BPM的结合、实践过程中遇到的细节问题等等,为了比较干净的剖析SOA还是删除掉了。希望各位看官有所收获。 ...阅读全文
一、定义 组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。组合模式是一种结构型模式。 二、描述 包含以下三个角色:1、Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所有子类共有行为 ...阅读全文
无论是在内部系统还是在外部的互联网站上,都少不了检索系统。数据是为了用户而服务。计算机在采集数据,处理数据,存储数据之后,各种客户端的操作pc机或者是移动嵌入式设备都可以很好的获取数据,得到 想要的数据服务。 检索分为SQL过滤查询和全文检索。数据都是放在数据库里,数据库里的数据量太大,要检索到精准 ...阅读全文
天带来的是架构活动中的常见原则,在我们平时做技术方案,非功能设计时一定需要铭记于心这些方法论。 架构目标 高可用性 整体系统可用性最低99.9%,目标99.99%。全年故障时间整个系统不超过500分钟,单个系统故障不超过50分钟。 高可扩展性 系统架构简单清晰,应用系统间耦合低,容易水平扩展,业务功 ...阅读全文
本文通过介绍常见的池式结构(数据库连接池、线程池)和IO多路复用结构(redis),对比其中的作用以及原理,探索其中底层的设计思路的共同点 ...阅读全文
很多同学技术能力很强,架构设计也做得很好,但是在给别人讲解的时候,总感觉像是“茶壶里煮饺子,有货倒不出”。 其实,在为新员工培训系统架构、给领导汇报技术规划、上技术大会做演讲或者向晋升评委介绍工作贡献的时候,如果你能画出一张优秀的 软件系统架构图,就可以大大提升自己的讲解效果,让对方轻松地理解你想表 ...阅读全文
当谈到架构的高可用时,无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端情况会导致某个系统所有服务器都故障,或者业务整体瘫 ...阅读全文
这是典型的程序业务处理的方式。——接收到请求入参后,先进行前置校验,如果校验失败直接中止返回,否则才走后续的业务处理流程。 ...阅读全文
这是典型的程序业务处理的方式。——接收到请求入参后,先进行前置校验,如果校验失败直接终止返回,否则才走后面的业务处理流程。 ...阅读全文
具体以电子商务网站为例, 展示web应用的架构演变过程。 1.0时代 这个时候是一个web项目里包含了所有的模块,一个数据库里包含了所需要的所有表,这时候网站访问量增加时,首先遇到瓶颈的是应用服务器连接数,比如tomcat连接数不能无限增加,线程数上限受进程内存大小、CPU内核数等因素影响,当线程数 ...阅读全文
什么是Util应用框架? Util是一个.Net平台下的应用框架,旨在提升中小团队的开发能力,由工具类、分层架构基类、Ui组件,配套代码生成模板,权限等组成。 Util应用框架 7.x介绍 Util应用框架的最新版本是7.x,保持与.Net最新稳定版本同步更新。 与Util 1.x相比,最新版本代码 ...阅读全文
常用的物联网管理系统主要有以下几种:智能家居系统:通过物联网技术,将家庭设备和电器互联起来,实现智能化控制和管理的系统。智能家居系统可以实现家庭设备的远程控制、智能化场景设置、安防监控等功能,方便用户提高家居生活的便利性和舒适度。智能工厂系统:利用物联网技术,通过互联的工厂设备、传感器和计算机系统来 ...阅读全文
一、引言 在当今数字化时代,零售业正迅速发展,消费者的购物行为和期望发生了巨大的变化。为了满足不断增长的需求,零售企业必须构建高度灵活、稳健可靠的商品系统。 本文将深入探讨零售商品系统的底层逻辑,聚焦领域驱动设计(DDD)和复杂业务系统架构经验,揭示其在零售业务中的应用和价值。 二、面临的挑战 商品 ...阅读全文
本文从系统建设的背景、设计细节、已支撑案例及适用业务场景多个层面进行详细阐述。读者可以关注文中所讲的系统实践过程,进而对结算领域系统设计能力提升,具有一定的参考价值。 ...阅读全文
今天我们来谈一谈TDD 和 BDD 两项实践。我们先来说说 TDD,也就是测试驱动开发(Test Drvien Development)。 TDD 的节奏 或许你已经迫不及待地要举手了:“TDD 我知道,就是先写测试,后写代码。”但真的是这样吗?严格地说,“先写测试、后写代码”的做法叫测试先行开发( ...阅读全文
单例模式 一个类只有一个实例,并提供一个全局访问此实例的点,哪怕多线程同时访问。 单例模式主要解决了一个全局使用的类被频繁的创建和消费的问题。 单例模式的案例场景 数据库的连接池不会反复创建 spring中一个单例模式bean的生成和使用 在我们平常的代码中需要设置全局的一些属性保存 七种单例模式的 ...阅读全文
本文介绍了一种基于线上流量实现对重构系统进行功能和性能验证的实践方案。针对线上流量如何拦截、如何录制、如何存储、如何回放以及如何发压均作了详细说明,为具有类似需求的读者提供了一种可供参考的思路。 ...阅读全文