刷新
[设计模式]行为型模式-策略模式

博主头像 前言 策略模式定义了一系列算法,并将每个算法封装起来,使它们可以互相替换,且算法的变换不会影响使用算法的客户。 在项目开发中,我们经常要根据不同的场景,采取不同的措施,也就是不同的策略。假设我们需要对a、b这两个整数进行计算,根据条件的不同,需要执行不同的计算方式。我们可以把所有的操作都封装在同一个 ...

遍历用for还是foreach?

博主头像 在编程的世界里,我们经常需要对数据进行循环处理,常用的两种方法就是:for循环和foreach循环。想象你站在一条装满宝贝的传送带前,你要亲手检查每一件宝贝。使用for循环就像是你亲手控制传送带的速度和方向,而使用foreach循环则是传送带自动运转,你只需专注于宝贝本身。 ...

分布式事务详解

博主头像 概述 随着互联网的发展,软件系统由原来的单体应用转变为分布式应用。分布式系统把一个单体应用拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。这种分布式系统下不同服务之间通过远程协作完成的事务称之为分布式事务,例如用户注册送积分事务、创建订单减库存事务,银行转账事务等都是分布 ...

Elasticsearch实现Mysql的Like效果

博主头像 在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求 在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜 ...

系统干崩了,只认代码不认人

博主头像 各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 ...

java代码实现自动生成数据库表er图

博主头像 最近有同事看到字节跳动产品设计文档里有数据库表er图。就想问问又没有现成的工具也给直接生成一个er图,经查找验证发现并没有。因为现在表关系都是用的逻辑外键而非物理外键约束的,所以像navicat等工具就算生成了也没有描述关系的连接线。那么为了满足需求,这边就略微出手写了个代码实现er关系的工具。(注 ...

新零售SaaS架构:促销系统架构设计

博主头像 促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。 特别是在新零售行业,促销更加重要,由于新零售是线上和线下结合的,顾客可以在线上看到促销信息,然后在实体 ...

使用无代码/低代码平台进行开发的 5 大挑战

博主头像 近年来,越来越多的开发者会选择使用无代码/低代码平台进行业务系统的开发。原因很简单:不用从零开始研发一整套系统,并且有易用的模板和可视化的操作界面,大大减少了业务开发的难度和所需时间。 然而,真正尝试过的开发者会发现,无代码/低代码确实能让开发变“简单”,但新的挑战也随之而来。 ...

使用Docker部署Tomcat

博主头像 目录使用Docker部署Tomcat1. 获取镜像2. 第一次启动tomcat3.带参数启动4.查看tomcat日志5.时区问题 使用Docker部署Tomcat 1. 获取镜像 docker pull tomcat:8.5.38 docker images 2. 第一次启动tomcat 该步骤作用 ...

设计模式(二十三)访问者

博主头像 一、定义 表示一个作用于某对象结构中的各个元素的操作。访问者模式让你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式 二、描述 访问者模式是一种较为复杂的行为型模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可 ...

如何在不依赖于Mq的形式下更优雅地实现异步任务处理!!!

背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 图1.1 消息中间件 现需要考虑在不依赖于Mq的形式下如何更优雅 ...

设计模式(二十二)模板方法

博主头像 一、定义 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类不改变一个算法的结构即可重定义该算法的特定步骤。模板方法是一种类行为型模式 二、描述 模板方法模式结构比较简单,其核心是抽象类和其中的模板方法的设计,包含以下两个角色: 1、AbstractClass(抽象类):在抽象 ...

如何利用容器与中间件实现微服务架构下的高可用性和弹性扩展

博主头像 在当今的互联网时代,微服务架构已经成为许多企业选择的架构模式,它能够提高系统的灵活性、可维护性和可扩展性。然而,微服务架构下的高可用性和弹性扩展是一个复杂的挑战。本文将介绍如何利用容器与中间件来实现微服务架构下的高可用性和弹性扩展的解决方案。 ...

Kafka 社区KIP-405中文译文(分层存储)

原文链接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 译者:Kafka KIP-405是一篇非常优秀的多层存储的设计稿,不过此设计稿涉及内容很多,文章量大、严谨、知识点诸多。我们国 ...

系统架构设计师-第0章-学习路线

博主头像 架构设计师是系统开发的主体角色,他们通过执行一系列活动来实施架构设计。架构设计通过生成过程形成最终的产品架构,架构设计师的成果是创建架构。从图1可以看出,系统开发中架构设计师是整个系统的核心. ...

C-Shopping基于Next.js,开源电商平台全新亮相

博主头像 嗨,大家好!欢迎来到C-Shopping,这是一场揭开科技面纱的电商之旅。我是C-Shopping开源作者“继小鹏”,今天将为你介绍一款基于最新技术的开源电商平台。让我们一同探索吧! 点击 这里,http://shop.huanghanlian.com/,即刻踏上C-Shopping 体验之旅! 项 ...

<1···345···50>