1.监听器基于观察者模式。
1.myTestEvent自定义事件。被观察者
public class MyTestEvent extends ApplicationEvent
2.MyNoAnnotationListener 自定义监听器。观察者
@Component
public class MyNoAnnotationListener implements ApplicationListener<MyTestEvent> {
@Override
public void onApplicationEvent(MyTestEvent event) {
System.out.println("非注解监听器:" + event.getMsg());
}
}
3.发布自定义事件。
@Component
public class MyTestEventPubLisher {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
/**
* 事件发布方法
*/
public void pushListener(String msg) {
applicationEventPublisher.publishEvent(new MyTestEvent(this, msg));
}
}
2.把if else拆开,走同一个接口的不同实现,策略模式。
3.构建者模式
在Java中,构建者模式(Builder Pattern)是一种创建对象的设计模式。它可以使用一种清晰的方式构造复杂的对象,而不必暴露对象的内部细节。构建者模式适用于需要创建具有多个可选参数的对象。
下面是一个简单的示例,演示了如何使用构建者模式创建一个Person对象:
首先,我们定义一个Person类,该类具有一些必需的属性和一些可选的属性:
public class Person {
private final String name;
private final int age;
private final String address;
private final String phoneNumber;
private Person(PersonBuilder builder) {
this.name = builder.name;
this.age = builder.age;
this.address = builder.address;
this.phoneNumber = builder.phoneNumber;
}
// 省略getter方法
public static class PersonBuilder {
private final String name;
private final int age;
private String address;
private String phoneNumber;
public PersonBuilder(String name, int age) {
this.name = name;
this.age = age;
}
public PersonBuilder setAddress(String address) {
this.address = address;
return this;
}
public PersonBuilder setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
return this;
}
public Person build() {
return new Person(this);
}
}
}
然后,我们可以使用构建者模式创建Person对象:
Person person = new Person.PersonBuilder("John", 30)
.setAddress("123 Main St")
.setPhoneNumber("555-1234")
.build();
在上面的示例中,我们首先使用Person.PersonBuilder类的构造函数创建一个构建者对象。然后,我们可以使用该对象的方法链来设置可选的属性,并最后调用build()方法来构建Person对象。
通过使用构建者模式,我们可以使用具有多个可选参数的对象来创建对象,而不必在构造函数中传递大量的参数。这使得代码更加清晰和易于维护。
标签:javaweb,private,name,Person,phoneNumber,设计模式,public,String From: https://www.cnblogs.com/zqlmianshi/p/17921617.html
4.卖咖啡装饰器模式。
5.log日志适配器模式。