![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 68
爱叨叨的程序狗
码农,不只Coding.
展开
-
Spring中的IOC与DI-细胞内物质与传递
在实际应用中,我们应该根据查询的需求和性能要求,谨慎选择合适的操作符,以提高查询效率。最后,值得注意的是,优化查询性能是一个复杂的过程,还涉及到其他因素,如索引的设计、统计信息的准确性以及查询语句的编写等。通过选择适当的操作符和实施综合的优化措施,我们可以提高数据库查询的效率,提升应用性能,为用户提供更好的体验。在SQL查询中,当我们需要合并多个查询结果集时,我们通常会使用UNION和UNION ALL操作符,同时,如果你写的or语句不走索引,可以考虑使用UNION、UNION ALL优化。原创 2023-08-18 23:04:17 · 305 阅读 · 0 评论 -
无感知发布
在实际应用中,我们应该根据查询的需求和性能要求,谨慎选择合适的操作符,以提高查询效率。最后,值得注意的是,优化查询性能是一个复杂的过程,还涉及到其他因素,如索引的设计、统计信息的准确性以及查询语句的编写等。通过选择适当的操作符和实施综合的优化措施,我们可以提高数据库查询的效率,提升应用性能,为用户提供更好的体验。在SQL查询中,当我们需要合并多个查询结果集时,我们通常会使用UNION和UNION ALL操作符,同时,如果你写的or语句不走索引,可以考虑使用UNION、UNION ALL优化。原创 2023-08-18 10:53:11 · 291 阅读 · 0 评论 -
线程安全的单例模式实现方式
在实际应用中,我们应该根据查询的需求和性能要求,谨慎选择合适的操作符,以提高查询效率。最后,值得注意的是,优化查询性能是一个复杂的过程,还涉及到其他因素,如索引的设计、统计信息的准确性以及查询语句的编写等。通过选择适当的操作符和实施综合的优化措施,我们可以提高数据库查询的效率,提升应用性能,为用户提供更好的体验。在SQL查询中,当我们需要合并多个查询结果集时,我们通常会使用UNION和UNION ALL操作符,同时,如果你写的or语句不走索引,可以考虑使用UNION、UNION ALL优化。原创 2023-08-15 21:53:46 · 547 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式事件处理模型,对于事件处理模型,一般使用观察者和责任链模式。定义:观察者模式是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。观察者模式角色发布者:向其他角色发送值得关注的事件。事件会在发布者自身状态或执行特定行为后发生。订阅者:接口声明了通知接口。在绝大多数情况下,该接口只包含一个update方法。该方法可以拥有多个参数,使发布者能在更新时传递事件的详细信息。具体订阅者:可以执行一些操作来回应发布者的通知,所有具体订阅者都实现了原创 2021-01-25 22:51:55 · 72 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式定义:生成器模式是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。如果你有一个需求:你需要建造一座豪华别墅,需要安装泳池、暖气、和田玉地板、供电、宽带等。方案一按最简单的思路来,你可以在规划别墅时把可能所需的条件准备妥当(在类中加入所需属性),建造即可(通过构造方法创建一个对象,将所需条件放入构造方法),这样做可以满足需求,显然有一个弊端便是:构造方法代码量高,且可能会出现很多属性为Null的情况。方案二你可以创建一原创 2021-01-18 22:44:04 · 79 阅读 · 0 评论 -
设计模式之责任链模式
责任链模式责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。如Spring Secuurity的处理。责任链的角色Handler(抽象处理者) 定义请求处理类,一般为接口或抽象类,也可以理解为定义一个处理责任链。ConcreteHandler(具体处理者) 具体处理者实现或继承自抽象处理者,实现抽象处理者的方法,在方法中定义不同的处理逻辑,并将处理结果传递给下一个处理者。有些像策略模式,但不同的原创 2021-01-17 18:17:53 · 225 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式定义:装饰是一种结构设计模式, 允许你通过将对象放入特殊封装对象中来为原对象增加新的行为。为对象增加新的行为可以理解为在原基础上的扩展,抛开设计模式而言,我们首先想到的解决方式是继承,如果你想给一款低配版版汽车装上倒车影像,你可以你的Car可以继承自RoadRadar ,当你想继续提升行使品质的时候,你希望在汽车上安装Bose音响,此时,显然Car不能再继承一个Bose类,因为Java不支持多继承,显然这样也不符合“对修改关闭,对扩展开放”的原则。引入装饰着模式的思想,我们把Car作为一个被原创 2020-12-27 15:49:52 · 113 阅读 · 0 评论 -
设计模式之外观(门面)模式
外观(门面)模式外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。类似的实际例子有消息中间件,把一个数据丢到消息中间件,谁需要,谁去消息后中间件去拿。这种设计模式可以用于解耦。我们举个栗子,你要去政府办一件事,你需要先从门口去一楼,再从门口去二楼、最后从门口去五楼,这样整个流程会特别繁琐,外观模式就提供一个门面接口(Facade),门面内把原来的原创 2020-12-26 20:34:45 · 1179 阅读 · 1 评论 -
工厂模式之抽象工厂
工厂模式之抽象工厂是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。类继承自抽象工厂,即可生产指定对象。新增实体的时候无需修改已有代码。比如食物这个工厂,在现实世界中,它可以生产面包、鸡蛋、肉等,在魔法世界中,食物工厂可以生产魔法豆、会唱歌的火鸡、HP口服液等,我们把食物比作是最大的一个抽象工厂,现实世界(ModernFactory)抽象工厂和魔法世界(MagicFactory)抽象工厂继承自最大的食物抽象工厂,然而bread面包、egg鸡蛋、meat肉类都继承自ModernFact原创 2020-12-08 22:57:21 · 250 阅读 · 3 评论 -
Java设计模式之三---工厂模式
关于SpringBoot集成使用策略模式请翻阅我的另一篇博客,上边详细介绍了使用方式基于SpringBoot的策略模式demo三、工厂模式定义:任何可以产生对象的方法或类,都可以称之为工厂。单例也是一种工厂----静态工厂。一个抽象产品类多个具体产品类一个抽象工厂多个具体工厂 - 每一个具体产品对应一个具体工厂符合 - OCP开放封闭原则优点降低了代码耦合度,对象的生成交给子类去完成实现了开放封闭原则 - 每次添加子产品 不需要修改原有代码缺点增加了代码量,每个具体产品都原创 2020-11-30 22:49:09 · 89 阅读 · 0 评论