自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我爱娃哈哈的专栏

没有任何动物比蚂蚁更勤奋,然而它却最沉默寡言。

  • 博客(181)
  • 资源 (7)
  • 问答 (4)
  • 收藏
  • 关注

原创 MySQL 的 ACID 属性:保障数据完整性的基石

通过原子性、一致性、隔离性和持久性的实现,MySQL 可以确保事务的正确执行和数据的安全可靠。例如,如果一个银行系统的数据库不具备原子性,当用户进行转账操作时,如果出现错误,可能会导致部分资金被扣除,但目标账户没有收到相应的资金,从而造成资金损失。为了确保这个操作的原子性、一致性、隔离性和持久性,我们可以使用 MySQL 的事务来实现。又例如,如果一个电子商务系统的数据库不具备一致性,当用户下订单时,可能会出现库存数量不正确的情况,导致订单无法正常处理。500个访问欢迎大家踊跃体验哦~

2024-09-22 15:59:46 296

原创 MySQL 中的全文索引:强大的文本搜索利器

例如,在一个包含文章内容的数据库表中,如果我们想要搜索包含特定关键词的文章,使用全文索引可以大大提高搜索的效率。MySQL 中的全文索引是一种非常强大的功能,它可以帮助我们在大量文本数据中进行快速的全文搜索。与传统的索引不同,全文索引不是基于特定的列值进行索引,而是对文本内容进行分析和索引,以便能够快速地找到包含特定关键词的记录。当我们执行全文搜索时,MySQL 会将搜索关键词进行同样的分析处理,然后在全文索引中查找与关键词相关联的记录。经过分析后的文本被存储在全文索引中,以便后续的搜索操作。

2024-09-22 15:54:51 341

原创 MySQL 优化器:理解与探秘

然后,它会根据各种因素评估这些执行计划的成本,最终选择成本最低的那个计划来执行查询。MySQL 优化器是数据库管理系统中的一个核心组件,它的主要任务是在执行 SQL 查询时,选择一种最优的执行计划。对于包含多个表连接的查询,优化器会尝试不同的连接顺序,以找到最有效的方式来获取所需的数据。如果有多个执行计划的成本非常接近,优化器可能会根据一些其他因素进行选择,例如执行计划的稳定性、可预测性等。例如,对于一个包含多个表连接的查询,优化器可能会考虑不同的连接顺序,以找到最有效的方式来获取所需的数据。

2024-09-21 17:31:48 786

原创 MySQL 中如何处理大型事务

处理大型事务是 MySQL 数据库管理中的一个重要问题。通过分批次处理、优化事务设计、调整事务隔离级别和监控优化数据库性能等方法,可以有效地提高 MySQL 处理大型事务的能力。在实际应用中,需要根据具体情况选择合适的方法,并进行充分的测试和优化,以确保数据库的性能和数据的一致性。在 MySQL 数据库的使用中,事务是一个非常重要的概念。它可以确保数据库操作的原子性、一致性、隔离性和持久性。那么,MySQL 如何处理大型事务呢?《MySQL 中如何处理大型事务》500个访问欢迎大家踊跃体验哦~

2024-09-21 17:28:34 302

原创 MySQL 中的 UTF-8 与 UTF8MB4:差异解析

总之,UTF-8 和 UTF8MB4 都是 MySQL 中常用的字符集选项,它们之间的区别主要在于编码范围、存储需求和兼容性。在选择字符集时,需要根据你的应用程序的具体需求来进行选择,以确保你的数据能够正确地存储和显示。如果你的应用程序需要处理一些罕见的字符或 emoji 表情等,那么 UTF8MB4 可能是更好的选择。如果你的数据库中存储了大量的文本数据,那么选择一个合适的字符集可以提高数据库的性能和存储效率。如果你的应用程序只需要处理常见的字符,那么 UTF-8 可能是一个不错的选择。

2024-09-20 22:17:58 272

原创 MySQL 中的锁定粒度:理解与应用

锁定粒度是 MySQL 数据库中一个重要的概念,它对数据库的性能和并发能力有着重要的影响。在选择锁定粒度时,应该根据应用的并发需求、数据访问模式和数据库引擎的特点等因素进行综合考虑,选择最合适的锁定粒度,以提高数据库的性能和并发能力。在 MySQL 数据库的使用中,锁定粒度是一个至关重要的概念。它决定了数据库在并发控制中锁定的范围和程度,对数据库的性能和并发能力有着深远的影响。锁定粒度是指数据库在进行并发控制时所锁定的对象的大小。在 MySQL 中,锁定粒度可以分为表级锁定、行级锁定和页级锁定等不同级别。

2024-09-20 22:13:38 1015

原创 MySQL 中的 EXPLAIN 命令:洞察查询性能的利器

EXPLAIN 命令是 MySQL 中非常强大的工具,可以帮助我们深入了解查询的执行计划,找出性能瓶颈,并进行相应的优化。通过合理地使用 EXPLAIN 命令,我们可以提高数据库的查询性能,提升应用程序的响应速度。在 MySQL 数据库的使用中,优化查询性能是至关重要的一项任务。它可以显示查询语句如何被 MySQL 解析和执行,包括使用了哪些索引、表的连接方式、查询的行数估计等。通过分析这些信息,我们可以找出查询性能瓶颈,并进行相应的优化。《MySQL 中的 EXPLAIN 命令:洞察查询性能的利器》

2024-09-19 22:46:50 1483

原创 MySQL 中的索引覆盖扫描:加速查询的秘密武器

索引覆盖扫描是 MySQL 中一种非常有效的查询优化技术。通过合理地选择索引和优化查询语句,可以充分发挥索引覆盖扫描的优势,提高数据库的查询性能和整体效率。在 MySQL 数据库的使用中,索引是提高查询性能的重要工具。,由于查询的列 name 和 age 都在联合索引中,MySQL 可以直接从索引中获取这些数据,无需再去查询实际的数据行,这就是索引覆盖扫描。在 MySQL 中,当查询语句所需要的所有列的数据都可以从索引中直接获取,而无需回表查询实际的数据行时,就发生了索引覆盖扫描。

2024-09-19 22:42:24 372

原创 MySQL 二进制日志(binlog):理解与应用

这些文件会随着数据库的操作不断增长,当达到一定大小或满足特定条件时,会进行滚动(生成新的日志文件)。MySQL 的二进制日志是一个强大的工具,它在数据恢复、主从复制、审计追踪和性能分析等方面都发挥着重要的作用。MySQL 的二进制日志是一种记录数据库变更的文件。它以二进制格式记录了数据库中发生的所有数据更改操作,包括数据的插入、更新、删除,以及数据库结构的更改(如创建表、修改表结构等)。在 MySQL 数据库的世界里,二进制日志(binlog)是一个至关重要的组成部分。它又有着哪些重要的作用呢?

2024-09-18 23:24:26 433

原创 MySQL 触发器的创建、使用及在 Java 中的调用

在数据库管理中,MySQL 的触发器是一种强大的工具,它可以在特定的数据库事件发生时自动执行一系列操作。同时,我们还可以在 Java 应用程序中与这些触发器进行交互,实现更复杂的业务逻辑。今天,我们就来一起探讨如何在 MySQL 中创建和使用触发器,并在 Java 中调用它们。MySQL 的触发器和 Java 的结合可以实现强大的数据库操作和业务逻辑。通过合理地创建和使用触发器,并在 Java 中正确地调用它们,我们可以提高数据库应用程序的效率和可靠性。我们想要在插入新学生记录时,自动将学生的年龄加 1。

2024-09-18 23:16:13 976

原创 MySQL 中的 GROUP BY 和 HAVING 子句:特性、用法与注意事项

在 MySQL 数据库的查询操作中,GROUP BY 和 HAVING 子句是非常强大的工具,它们能够帮助我们对数据进行分组和筛选,从而更好地分析和处理数据。今天,我们就来深入了解一下 GROUP BY 和 HAVING 子句的特性、用法及注意事项。GROUP BY 和 HAVING 子句是 MySQL 中非常有用的工具,但在使用时需要注意它们的特性和用法,以及一些注意事项。只有正确地使用这些子句,才能充分发挥它们的优势,高效地处理和分析数据。GROUP BY 子句注意事项。HAVING 子句注意事项。

2024-09-16 22:02:08 453

原创 MySQL 子查询全解析:执行、性能影响与优化策略

在使用 MySQL 时,要谨慎使用子查询,并考虑其对性能的影响。通过合理的设计查询、建立索引以及选择合适的优化方法,我们可以提高查询性能,确保数据库的高效运行。同时,在某些情况下,我们应避免使用子查询,以获得更好的性能和可维护性。在 MySQL 数据库的操作中,子查询是一个强大而又复杂的工具。今天,我们就来深入探讨 MySQL 如何执行子查询、其性能影响、优化方法以及哪些情况下应避免使用子查询。

2024-09-16 21:48:58 960

原创 观察者模式:如何发送消息变化的通知?

这和现实中我们打开收音机收听电台很类似。

2024-09-14 23:32:38 1114

原创 MySQL 主从复制:实现数据同步与高可用

主从复制是指将一个 MySQL 数据库服务器(主服务器)的数据复制到一个或多个 MySQL 数据库服务器(从服务器)上。MySQL 的主从复制功能为我们提供了一种简单而有效的方式来实现数据同步和高可用。在实际应用中,我们需要根据具体的业务需求和系统架构,选择合适的主从复制方案,并及时解决主从复制过程中出现的问题。MySQL 的主从复制是基于二进制日志(Binary Log)实现的。主服务器将所有的写操作记录到二进制日志中,从服务器通过读取主服务器的二进制日志,并在本地重放这些操作,从而实现数据的同步。

2024-09-14 23:26:08 951

原创 MySQL 慢查询日志:解锁数据库性能优化的关键

在 MySQL 数据库的使用过程中,性能优化是一个持续的挑战。而慢查询日志就是我们手中的一把利器,能够帮助我们发现和解决性能瓶颈。它就像是一个数据库的“侦探”,时刻监视着数据库的运行情况,一旦发现执行时间较长的查询,就会将其记录下来。MySQL 中的慢查询日志是一个非常有用的工具,可以帮助我们发现和解决数据库性能问题。通过合理地开启、分析和利用慢查询日志,我们可以不断优化数据库的性能,提高系统的稳定性和响应速度。这些语句往往是数据库性能瓶颈的所在,对它们进行优化可以显著提高数据库的整体性能。

2024-09-14 23:15:44 1358

原创 MySQL 索引优化查询实战指南

在 MySQL 中,合理使用索引是优化查询性能的重要手段。通过选择合适的字段创建索引、避免过多的索引、使用复合索引以及定期维护索引,可以显著提高数据库的查询速度。在 MySQL 数据库的使用中,高效的查询性能至关重要。想象一下,在一个没有索引的大型数据表中进行查询,数据库需要逐行扫描每一条记录,这将是一个非常耗时的过程。而有了合适的索引,数据库可以直接定位到相关的数据行,大大提高查询效率。索引是一种特殊的数据结构,它可以帮助数据库快速定位到满足特定查询条件的数据行,而不必扫描整个表。

2024-09-13 23:40:59 862

原创 MySQL 事务隔离级别:理解并发控制的关键

不同的事务隔离级别会对数据库的并发性能和数据一致性产生不同的影响。在选择事务隔离级别时,需要综合考虑业务需求、性能要求和数据库的负载等因素,选择合适的隔离级别,以实现数据的一致性和并发性能的平衡。在 MySQL 数据库中,事务隔离级别是一个重要的概念,它决定了事务之间的隔离程度,以及如何处理并发操作。MySQL 支持四种事务隔离级别,分别是:读未提交(Read Uncommitted)、读提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。

2024-09-13 23:34:10 714

原创 MySQL 存储过程:强大的数据库功能利器

简单来说,存储过程就像是一个预先编写好的程序,它包含了一系列的 SQL 操作,可以接受输入参数,进行数据处理,并返回结果。存储过程可以被反复调用,极大地提高了数据库操作的效率和可维护性。MySQL 中的存储过程是一个非常强大的工具,它可以提高数据库的性能、安全性和可维护性,同时也可以实现代码的复用。通过合理地使用存储过程,可以更好地管理和操作数据库,提高开发效率。存储过程的参数可以分为输入参数(IN)、输出参数(OUT)和输入输出参数(INOUT)三种类型。的存储过程,它接受一个输入参数。

2024-09-12 23:45:34 547

原创 MySQL 视图:数据库中的灵活利器

视图是一种虚拟的表,它是由一个或多个表中的数据经过筛选、聚合或其他操作而生成的结果集。可以把视图想象成一个窗口,通过这个窗口我们可以看到特定的数据视图,而不需要直接访问底层的表。视图是 MySQL 数据库中一个非常有用的工具,它可以简化数据访问、提高数据安全性、提供数据独立性、实现可重用性和提高性能。通过合理地使用视图,我们可以更好地管理和利用数据库中的数据,为用户提供更加高效、安全和便捷的数据服务。那么,什么是视图呢?这个视图就是基于学生表和成绩表中的数据生成的,但它本身并不存储实际的数据。

2024-09-12 23:41:06 531

原创 MySQL 中的主键与唯一键:差异与应用场景

MySQL 中的主键和唯一键都是用于确保数据完整性和唯一性的重要约束,但它们在唯一性约束的严格程度、空值处理、数量限制、自动生成和性能影响等方面存在着一些区别。在实际应用中,我们需要根据具体的业务需求和数据特点来选择使用主键还是唯一键,以确保数据库的性能和数据的完整性。在 MySQL 数据库中,主键(Primary Key)和唯一键(Unique Key)都是用于确保数据完整性和唯一性的重要约束,但它们之间存在着一些关键的区别。今天,我们就来深入探讨一下 MySQL 中的主键与唯一键的区别。

2024-09-11 23:08:07 848

原创 索引:数据库查询性能提升的利器

如果我们经常需要根据学生的学号来查询学生的信息,那么可以在学号字段上创建一个索引。索引,简单来说,就是数据库中一种特殊的数据结构,它就像是一本书的目录。但是,在创建索引时,我们也需要注意选择合适的字段、避免过多的索引以及定期维护索引,以确保索引能够发挥最大的作用。例如,如果我们经常需要根据学生的姓名和年龄来查询学生信息,可以在姓名和年龄两个字段上创建一个复合索引。例如,在学生表的学号字段上创建唯一索引,可以保证每个学生的学号都是唯一的。例如,在上面的例子中,在学生表的学号字段上创建的索引就是单列索引。

2024-09-11 23:03:06 626

原创 MySQL 查询优化秘籍:让你的数据库查询飞起来

在数据库应用中,高效的查询性能至关重要。MySQL 作为广泛使用的关系型数据库,掌握一些常用的查询优化方法可以极大地提升系统的响应速度和性能。今天,我们就来一起探讨常用的优化 MySQL 查询方法及示例。优化 MySQL 查询是一个综合性的工作,需要从索引、查询语句、表结构、数据库配置等多个方面入手。通过合理的优化方法,可以显著提高 MySQL 的查询性能,为应用程序提供更好的用户体验。以下是一个简单的示例,展示了如何通过优化查询语句和索引来提高查询性能。这样的查询可以利用索引,提高查询速度。

2024-09-10 22:47:06 995

原创 MySQL 中的 JOIN 操作:连接数据的强大工具

例如,一个电商系统可能有一个用户表存储用户的基本信息,一个订单表存储用户的订单信息,一个商品表存储商品的详细信息。如果我们想要获取某个用户的订单以及订单中的商品信息,就需要使用 JOIN 操作将这三个表连接起来,以便能够同时从多个表中获取所需的数据。MySQL 中的 JOIN 操作是一个非常强大的工具,它允许我们从多个表中获取数据,实现更复杂的查询和数据分析。在 MySQL 数据库的使用中,JOIN 操作是一个非常重要且强大的功能,它允许我们从多个表中检索数据,从而实现更复杂的查询和数据分析。

2024-09-10 22:23:35 774

原创 探索数据库事务:保障数据完整性与一致性的关键机制

你首先要从你的账户中扣除相应的金额,然后商家的库存要减少相应的商品数量,最后还要生成一条订单记录。如果在这个过程中,任何一个操作出现了问题,比如账户扣款成功了,但库存减少失败了,那么整个交易就不能算是成功的。它会确保所有的操作要么都成功,要么都回滚到最初的状态,从而保证数据的一致性和完整性。数据库事务,简单来说,就像是一次对数据库的完整操作序列,它被视为一个不可分割的工作单元。就像刚才的购物例子,如果其中任何一个操作失败,整个事务都会回滚,不会出现部分操作成功而部分操作失败的情况。

2024-09-09 23:37:16 393

原创 MySQL 引擎大揭秘:InnoDB 与 MyISAM 的深度对比

这意味着在使用 InnoDB 时,你可以放心地执行一系列的数据库操作,因为它能够确保这些操作要么全部成功,要么全部回滚,从而保证数据的完整性和一致性。在聚集索引中,数据行按照主键的顺序进行存储,因此通过主键进行查询时,InnoDB 可以直接定位到数据所在的位置,速度非常快。通过外键,你可以定义表与表之间的关联关系,并且 InnoDB 会自动检查这些关系,确保数据的合法性。它的索引结构是一种非聚集索引,索引文件中只存储了数据的指针,通过索引找到指针后,再根据指针去数据文件中读取相应的数据。

2024-09-09 23:36:31 1449

原创 Redis 集群的实现方案全解析

Redis 集群是由多个 Redis 节点组成的分布式数据库系统,它通过将数据分散存储在不同的节点上,实现了数据的横向扩展和高可用性。当客户端需要访问数据时,Redis 集群会根据数据的 key 值将请求转发到相应的节点上进行处理。然而,随着数据量的不断增长和业务需求的日益复杂,单节点的 Redis 往往无法满足需求,这时就需要使用 Redis 集群来实现数据的分布式存储和高可用性。在实际应用中,可以根据具体的业务需求和场景选择合适的 Redis 集群实现方案。

2024-09-08 23:25:06 704

原创 Redis 分布式锁:实现与应用

我们可以将共享资源的唯一标识作为键,将一个随机生成的值作为值,通过 SETNX 命令来尝试获取锁。在实际应用中,需要根据具体的业务场景合理选择锁的实现方式,并注意锁的过期时间设置、避免死锁和选择合适的锁粒度等问题。在分布式系统中,为了保证数据的一致性和并发控制,常常需要使用分布式锁。可以使用 Redis 的 EXPIRE 命令来设置键的过期时间,当锁过期时,Redis 会自动删除该键,从而释放锁资源。函数中,我们使用了 Redis 的事务机制来确保释放锁的操作是原子性的。如果不持有锁,则退出释放锁操作。

2024-09-08 23:17:59 985

原创 Redis 事务:支持回滚吗?深入解析

Redis 认为,在事务执行过程中出现错误的情况相对较少,而且通常是由于程序逻辑错误导致的。因此,Redis 选择不提供自动回滚功能,而是要求开发者在编写程序时保证事务的正确性。虽然 Redis 事务在一般情况下不支持回滚,但是在一些特殊情况下,Redis 提供了手动回滚事务的功能。由于 Redis 事务不支持自动回滚,因此在开发过程中,我们需要特别注意事务中可能出现的错误,并采取相应的措施进行处理。也就是说,如果事务中的某个命令执行失败,Redis 并不会自动回滚事务,而是会继续执行事务中的其他命令。

2024-09-07 22:45:03 983

原创 Redis 管道的神奇力量

Redis 管道是一个非常强大的特性,它可以显著提高 Redis 操作的性能和效率。通过批量执行命令,减少网络延迟和连接开销,Redis 管道能够在高并发和大数据量的场景下发挥重要作用。在上面的代码中,我们首先创建了一个 Redis 连接和一个管道对象。希望今天的文章能够帮助你理解 Redis 管道的作用和使用方法。如果你在实际应用中使用了 Redis 管道,欢迎在评论区分享你的经验和心得哦!在大多数 Redis 客户端库中,都提供了对管道的支持。方法执行管道中的所有命令,并将结果存储在一个列表中。

2024-09-07 22:26:03 522

原创 Redis 实现延迟队列的巧妙方法

想象一下,你在网上订了一份外卖,商家并不会立即配送,而是根据你选择的送达时间,延迟一段时间后才开始派送,这个过程就有点类似延迟队列的工作原理。然后,订阅 Redis 的过期事件通知。这种方法的优点是实现简单,利用了 Redis 本身的有序特性,并且可以支持多个不同延迟时间的消息。在这个脚本中,我们首先获取当前时间,然后从 ZSET 中取出分数小于等于当前时间的消息,并将其从 ZSET 中移除。:在电商系统中,用户下单后如果长时间未支付,我们可以将订单信息放入延迟队列中,在指定的时间后自动取消订单。

2024-09-06 23:39:06 934

原创 Redis 大 key 处理全攻略

在 Redis 中,大 key 并没有一个严格的定义。一般来说,如果一个 key 所对应的 value 占用的内存空间较大,或者集合类型(如 list、set、hash 等)的元素数量过多,都可以被认为是大 key。通过合理的方法发现和处理大 key,并采取有效的预防措施,可以保证 Redis 的高效稳定运行。:如果大 key 是一个字符串,可以考虑将其分割成多个小的字符串,分别存储在不同的 key 中。如果大 key 的 value 本身是可以压缩的数据,比如文本、图片等,可以考虑对其进行压缩后再存储。

2024-09-06 23:38:14 691

原创 状态模式:如何通过有限状态机监控功能的“状态变化”?

比如,给购买的物品定义几个包裹运送状态,已下单、运送中、已签收等,当“已下单”状态变为“运送中”状态时,物流货车会把包装好的包裹运送到指定地址,也就是说,当包裹的状态发生改变时,就会触发相应的外部操作。我们先来看看状态模式的标准 UML 图:从这个 UML 图中,我们能看出状态模式包含的关键角色有三个。

2024-09-01 22:43:28 983

原创 策略模式:如何解决不同活动策略的营销推荐场景?

策略模式在实际的开发中很常用,最常见的应用场景是。除此之外,它还能结合工厂模式给客户端提供非常灵活的使用体验。下面,我们一起来看看吧!

2024-09-01 22:42:41 855

原创 模板方法模式:如何实现同一模板框架下的算法扩展?

比如,在使用 Jenkins 的持续集成发布系统中,可以定制一个固定的 Jenkins Job 任务,将打包、发布、部署的流程作为一个通用的流程。对于不同的系统来说,只需要根据自身的需求增加步骤或删除步骤,就能轻松定制自己的持续发布流程。

2024-08-30 22:46:36 1271

原创 访问者模式:如何实现对象级别的矩阵结构?

今天我们先来看一个原理看似很简单,但是理解起来有一定难度,使用场景相对较少的行为型模式:访问者模式。访问者模式的原始定义是:允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离。这个定义会比较抽象,但是我们依然能看出两个关键点:一个是运行时使用一组对象的一个或多个操作,比如,对不同类型的文件(.pdf、.xml、.properties)进行扫描;另一个是分离对象的操作和对象本身的结构,比如,扫描多个文件夹下的多个文件,对于文件来说,扫描是额外的业务操作,如果在每个文件对象上都加一个扫描操作,太过

2024-08-30 22:45:51 1111

原创 代理模式:如何控制和管理对象的访问?

代理模式的原理非常简单,它和装饰模式很类似,都是在不改变同一个接口功能的前提下,对原有接口功能做扩展。但是,因为代理模式并不执着于链式结构,而是采用更为灵活的单一结构,在很多框架和组件的设计里都能看到代理模式的身影,比如,JDK 的动态代理机制、Spring 的 AOP 机制、Dubbo 框架等。那么,为什么代理模式能够获得如此广泛的应用呢?下面我们一起来看看。

2024-08-29 23:07:06 1531

原创 享元模式:如何通过共享对象减少内存加载消耗?

享元模式的原理和实现都很简单,但是应用场景却相对狭窄,它和现在我们所熟知的缓存模式、池化模式有所联系,却又有不同。看完这篇文章后,相信你会找到这个不同之处。

2024-08-29 23:06:04 596

原创 如何实现 API 网关的高可用性?

实际上,这一视图对于绝大多数用户来说已经足够了。比如,点击添加商品到购物车、结算、支付、等待收货……虽然对于电商系统本身来说需要考虑各种各样的情况,但是对于用户来说,购物网站这个门面就已经足够他们使用了。这也是为什么手机上的 App 虽然只有一个,但是实际上这个 App 背后需要的可能是成百上千的“一个人”在运营和研发这个 App。所以说,门面模式本身并不是一个代码实现的模式,而是组合更多的其他模式来使用的一种通用解决方案。

2024-08-28 23:38:10 1032

原创 如何在基础组件上扩展新功能?

在前面几篇中,我们已经了解了结构型模式中的适配器模式、桥接模式和组合模式。本篇我们要介绍的装饰模式看上去和适配器模式、桥接模式很相似,都是使用组合方式来扩展原有类的,但其实本质上却相差甚远呢。简单来说,。那么装饰模式到底有哪些需要我们重点学习的地方呢?下面,我们一起来看看吧。

2024-08-28 23:37:20 906

原创 组合模式:如何用树形结构处理对象之间的复杂关系?

组合模式在实现树形结构时,能够非常清楚地定义层次,并且能让使用者忽略层次的差异,以方便对整个层次结构进行控制。

2024-08-27 23:12:23 709

建设思路-政务领域-智慧应急、应急指挥平台

建设规划方案 主要用于建设思路汇报,内容概括等 适用于市场人员、项目管理人员,可以对项目总体有较为完整的概念和规划,从几大方面阐述建设内容以及为用户来的好处。 从政策依据和市场发展来概述建设的内容,从可落地的角度介绍项目建设合理性,可通过不同的描述语言进行市场报价。

2023-02-20

软件开发-nginx-文件服务器配置

基于nginx作为请求转发工具,在无OSS等对象存储产品的情况下,使用服务器硬盘作为存储载体,利用nginx的请求转发能力映射出地址来存储网站附件(图片、文件等)。 本配置文件中注释的位置可直接复制到自己的nginx配置文件中,只需修改ip及实际存储的服务器路径即可使用,使用前记得开通8080端口~

2023-01-30

软件项目各阶段文档模板(涉及立项、规划、监控、风险管理、需求、预研)

软件项目各阶段文档模板(涉及立项、规划、监控、风险管理、需求、预研)

2019-01-10

mysql、sqlserver jar

mysql和sqlserver的jar包 自己以后找起来方便

2017-03-29

解决开发中乱码方案

解决web开发中中文乱码的解决方案,交流可以回复

2016-02-24

servlet读取cookie代码

使用servlet读取客户端浏览器中的cookie数据

2016-02-24

处理百万级以上的数据查询提高效率的办法

编写sql语句时可以看看,提高执行效率和sql优化

2016-02-24

oracle数据库常用语句+demo

oracle数据库常用语句用起来挺方便的

2016-02-24

js实现导出table到excel

javascri实现将table中数据保存到excel中

2013-10-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除