您的位置:首页 > 新闻 > 会展 > 某企业网站网页设计模板_高端 建站_百度公司介绍_湖南百度推广

某企业网站网页设计模板_高端 建站_百度公司介绍_湖南百度推广

2024/12/24 21:36:24 来源:https://blog.csdn.net/KKTT01/article/details/144299481  浏览:    关键词:某企业网站网页设计模板_高端 建站_百度公司介绍_湖南百度推广
某企业网站网页设计模板_高端 建站_百度公司介绍_湖南百度推广

链式设计模式

链式编程是一种将多个方法调用连在一起的编程风格。在链式编程中,每个方法的返回值都是一个对象,可以继续调用该对象的其他方法。这种方式使得代码看起来更加流畅,减少了临时变量的使用,提高了代码的可读性和可维护性。

链式编程的特点有以下几点:

  1. 每个方法的返回值都是一个对象,可以继续调用该对象的其他方法。

  2. 方法的调用顺序可以任意调整,只要保证方法之间的依赖关系正确即可。

  3. 链式编程可以嵌套使用,即在一个方法中调用另一个方法,形成多层的链式调用。

public class Person {private String firstName;private String lastName;private int age;public Person setFirstName(String firstName) {this.firstName = firstName;return this;}public Person setLastName(String lastName) {this.lastName = lastName;return this;}public Person setAge(int age) {this.age = age;return this;}
}class Test {public static void main(String[] args) {Person person = new Person();person.setFirstName("1").setLastName("2").setAge(3).setFirstName("4");}
}

链式设计模式的具体体现:

1.装饰模式

动态地给一个对象增加一些额外的职责(方法),就增加对象功能来说,装饰模式比生成子类更为灵活。

装饰模式包含以下四个角色:

(1)Component(抽象构件):定义了对象的接口,可以给这些对象动态增加职责(方法)。它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法。

(2)ConcreteComponent(具体构件):定义了具体的构件对象,实现了在抽象构件中声明的方法,装饰器可以给它增加额外的职责(方法)。

(3)Decorator(抽象装饰类):是抽象构件类的子类,用于给具体构件增加职责,但是具体职责在其子类中实现。它维护一个指向抽象构件对象的引用,通过该引用可以调用装饰之前构件对象的方法,并通过其子类扩展该方法,以达到装饰的目的。

(4)ConcreteDecorator(具体装饰类):是抽象装饰类的子类,负责向构件添加新的职责。每一个具体装饰类都定义了一些新的行为,它可以调用在抽象装饰类中定义的方法,并可以增加新的方法以便扩充对象的行为。

特点与优势

  1. 动态组合对象功能:装饰模式可以在运行时动态地组合对象的功能,而不需要在编译时确定对象的组合方式。这使得系统更加灵活,可以根据需要组合不同的对象来实现不同的功能。

  2. 避免大量子类:使用装饰模式可以避免通过继承来扩展功能时产生的大量子类,从而简化了类的层次结构。

  3. 符合开闭原则:装饰模式可以在不修改原有类代码的情况下,通过添加新的装饰类来扩展功能,符合开闭原则(对扩展开放,对修改关闭)。

注意事项:

避免过度使用:装饰模式会导致设计中出现许多小类,如果过度使用,会使程序变得很复杂。因此,在使用装饰模式时需要权衡其带来的灵活性和复杂性。

2.职责链模式

使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

责任链模式主要包含以下几个角色:

  1. 抽象处理者(Handler)角色:定义一个处理请求的接口,并持有对下一个处理者的引用。

  2. 具体处理者(Concrete Handler)角色:实现抽象处理者的接口,处理它所负责的请求。如果它不能处理该请求,则可以把请求传给下一个处理者。

优缺点

优点

  1. 链路结构灵活:可以通过改变链路结构动态地新增或删减责任。

  2. 易扩展:可以根据需要增加新的请求处理类,满足开闭原则。

  3. 责任分担:每个类只需要处理自己该处理的工作,明确各类的责任范围,符合类的单一职责原则。

缺点

  1. 性能问题:责任链太长或者处理时间过长,会影响整体性能。

  2. 循环引用问题:如果节点对象存在循环引用时,会造成死循环,导致系统崩溃。

适用场景

责任链模式适用于以下场景:

  1. 当有多个对象可以处理同一个请求时。

  2. 当处理者之间的顺序不确定时,可以动态组织处理者之间的顺序。

  3. 当请求的处理流程需要灵活配置时。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com