我们有时候会遇到一些有超多参数的构造函数。其实对于日渐复杂的类来说,这种情况并不少见。使用Builder和一些method chain的改造,可以使我们的代码看起来更加DSL化。
Car car = CarBuilder.buildCar(CarType.MINI).engine(CarEngine.CVTT).size(3.15).build();
这样的方法比起原来的
Car car = new Car(CarType.MINI,CarEngine.CVTT,3.15);
更能确切地知道每个参数是用来干什么的,程序也更加容易读懂。
分享到:
相关推荐
正因为这点不同,导致建筑的管理模式和软件的管理模式就有很多不同, 有些人认识不到这点,就产生了可以大量使用"软件 蓝领"的想法,因为他羡慕建筑中"民工"的低成本. 要知道软件还有一个与建筑截然相反的责任和用途,那...
该模式使用多个简单的构建器对象代替一个“满载”的构造函数。 **有趣见解:** 构建者模式的主要目的是简化对象的创建过程,特别是当对象的构造参数很多且部分参数可选时。它通过定义一系列的构造过程来逐步构建...
在程序设计中,当我们需要为一个产品族中的多个产品创建相同接口的对象时,可以使用工厂模式。例如,在一个交友软件中,我们需要创建不同的用户类型(如男生或女生),可以通过工厂模式来实现,这样可以根据不同的...
责任链模式允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 **应用场景:** - 有多个对象可以处理一个请求,...
- 如果一个系统有多个抽象化,而每个抽象化都有多个实现类,则采用桥接模式可以在不影响其他抽象化及其实现的情况下增加或者移除新的抽象化和实现。 - 实现细节对客户透明。 #### 8. 组合模式(Composite) 组合...
这种模式的核心在于有一个静态方法,根据传入的参数决定实例化哪一个类。例如,在一场关键比赛中,教练可能需要选择最擅长三分球的球员来应对对手的防守策略,这就类似于简单工厂模式中根据需求创建特定类型的对象。...
- 描述:合成复用原则推荐使用对象组合或聚合来代替继承以实现代码复用。这种方法更灵活且减少了继承带来的负面影响。 #### 三、Java中的23种设计模式详解 1. **工厂方法模式**(Factory Method) - **描述**:...
创建型模式关注的是对象的创建机制,它们试图找到一种方法,既可以隐藏复杂的构造细节,又能灵活地创建对象。GoF定义了五种创建型模式: 1. **Factory模式** - **概念**:工厂模式定义了一个创建对象的接口,但...
- **定义**: Chain of Responsibility模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 - **目的**: 降低耦合度。 - **应用场景**: 处理一个请求可以有多种方式;通过后续处理者处理...