设计模式之建造者模式
模式解决问题:创建大对象,对象内部有多个若干组件属性,有一定的创建步骤的场景。
原料:
1.需要创建的目标对象,目标对象内部有若干属性或者组件
2.抽象建造接口,接口中定义创建目标对象属性或组件的方法,和目标对象方法。
3.建造接口的实现类
4.指导建造类。
实现例子:
目标大对象:
- public class User {
- public String name;
- public String sex;
- public String age;
-
- }
抽象建造过程
- public interface UserBuid {
-
- public void buidName(String name);
- public void buidSex(String sex);
- public void buidAge(String age);
- public User buidUser();
-
- }
实现建造过程
- public class UserBuidIml implements UserBuid {
-
- User user;
- @Override
- public void buidName(String name) {
- user.name = name;
- }
-
- @Override
- public void buidSex(String sex) {
- user.sex = sex;
- }
-
- @Override
- public void buidAge(String age) {
- user.age = age;
- }
-
- @Override
- public User buidUser() {
- return this.user;
- }
-
- }
指导建造,提供真实建造材料
- public class DirectorBuidUser {
- private UserBuidIml userBuidIml;
-
- public User userObj(String name ,String sex,String age) {
- userBuidIml.buidName(name);
- userBuidIml.buidSex(sex);
- userBuidIml.buidAge(age);
-
- return userBuidIml.buidUser();
- }
-
- }
补充:很多教科书或者老师跟你讲,(java良好的封装性,不必知道内部组成的细节),对建造者模式建造过程进行封装,不需要知道它内部的实现,只需要调用接口 ,这种都是扯淡的说法,作为搞技术的,不了解它内部的实现 搞什么技术?这种误人子弟的说法和教学都是无能的表现。
-------------
java 23种设计模式详解
Java中的23种设计模式详解如下: