设计模式与架构
文章平均质量分 66
设计模式和架构相关的内容
精灵鼠小强
一个程序员
展开
-
我用注解@Builder提高了代码可读性
最近开始使用lombok中的@Builder注解了,其实这个注解的功能正如字面上的意思,符合了我们设计模式中的建造者模式,我们进行创建对象的时候再也不需要进行写多个构造函数、写多行set方法了。 下面我们直接看代码,由于Builder注解只是创建型的,也可以理解为主要方便创建对象的时候替代setter方法的,但是我们要进行获取指定的属性值的getter方法还是需要的,这里为了方便,我直接使用的@Data注解。FoodBuilder.java@Builder@Datapublic class原创 2021-12-05 18:29:39 · 527 阅读 · 0 评论 -
设计模式-汉堡套餐组合-建造者模式
建造者模式的使用场景相同的方法,不同的执行顺序,产生不同的事件结果时,可以采用建造者模式。多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时,则可 以使用该模式。产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建 造者模式非常合适。 其实到了这里我们大体的了解到了我们建造者模式的两个核心点就是一个是固定的组件(对象),还有就是可以灵活的进行顺序组装我们的组件,满足客户端Client的需要。建造者模式的含义 建造者模式(Builder原创 2021-11-09 15:18:38 · 721 阅读 · 0 评论 -
设计模式-汽车性能测试流程-模板方法模式
模板方法的定义 Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.(定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构原创 2021-11-09 13:57:02 · 457 阅读 · 0 评论 -
设计模式-手机生产-抽象工厂模式
抽象工厂的定义 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。场景案例 抽象工厂的应用场景案例说明,如下图所示,我们要实现不同品牌的手机的创建,opp手机对象是一个抽象对象,它的实现类有两个一个是低配版的oppo手机,一个是高配版的原创 2021-11-07 10:19:31 · 776 阅读 · 0 评论 -
设计模式-计算器-简单工厂模式
简单工厂模式含义Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。) 这里我理解的简单工厂模式主要包含三个角色,第一个角色是我们要创建的实体类接口原创 2021-10-17 21:55:18 · 713 阅读 · 0 评论 -
设计模式-请假流程-责任链模式
责任链模式的定义首先我们可以先看一下责任链模式的定义:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it.(使多个对象都有机会处理请求,从而避原创 2021-10-12 11:56:54 · 1651 阅读 · 0 评论 -
设计模式-优惠券-策略模式
策略模式定义与实现策略模式的定义 首先我们可以先看一下策略模式的定义:Define a family of algorithms,encapsulate each one,and make them interchangeable.(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。) 这个定义是非常明确、清晰的,“定义一组算法”,同一个接口的不同实现类是不是三个算法?“将每个算法都封装起来”,封装类Context不就是这个作用吗?**“使它们可以互换”**当然可以互换了,都实现是原创 2021-10-13 14:43:03 · 3938 阅读 · 2 评论