10.java设计模式(读书笔记)建造者模式
来源:互联网 发布:淘宝卖女装店铺名字 编辑:程序博客网 时间:2024/05/07 22:13
参考:http://blog.csdn.net/jason0539/article/details/44992733
建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
简单的建造者:(只创造男人)
建造者模式主要讲的就是创建一个对象的时候可以弄一个builder类去分段的把实例化过程中,创建脑袋,腿,手等步骤分离出来。然后返回这个实例
bean:
- public class Man {
- private String head;
- private String body;
- private String foot;
- public String getHead() {
- return head;
- }
- public void setHead(String head) {
- this.head = head;
- }
- public String getBody() {
- return body;
- }
- public void setBody(String body) {
- this.body = body;
- }
- public String getFoot() {
- return foot;
- }
- public void setFoot(String foot) {
- this.foot = foot;
- }
- }
- public class ManBuilder{
- Man man;
- public ManBuilder() {
- man = new Man();
- }
- public void buildbody() {
- man.setBody("建造男人的身体");
- }
- public void buildFoot() {
- man.setFoot("建造男人的脚");
- }
- public void buildHead() {
- man.setHead("建造男人的头");
- }
- public Man builderMan() {
- buildHead();
- buildBody();
- buildFoot();
- return man;
- }
- }
- public class Test{
- public static void main(String[] args) {
- ManBuilder builder = new ManBuilder();
- Man man = builder.builderMan();
- }
- }
更标准的建造者模式:
角色Builder:
- public interface PersonBuilder {
- void buildHead();
- void buildBody();
- void buildFoot();
- Person buildPerson();
- }
- public class ManBuilder implements PersonBuilder {
- Person person;
- public ManBuilder() {
- person = new Man();
- }
- public void buildbody() {
- person.setBody("建造男人的身体");
- }
- public void buildFoot() {
- person.setFoot("建造男人的脚");
- }
- public void buildHead() {
- person.setHead("建造男人的头");
- }
- public Person buildPerson() {
- return person;
- }
- }
- public class WomanBuilder implements PersonBuilder {
- Person person;
- public WomanBuilder() {
- person = new Woman();
- }
- public void buildbody() {
- person.setBody(“建造女人的身体");
- }
- public void buildFoot() {
- person.setFoot(“建造女人的脚");
- }
- public void buildHead() {
- person.setHead(“建造女人的头");
- }
- public Person buildPerson() {
- return person;
- }
- }
- public class PersonDirector {
- public Person constructPerson(PersonBuilder pb) {
- pb.buildHead();
- pb.buildBody();
- pb.buildFoot();
- return pb.buildPerson();
- }
- }
角色Product:
- public class Person {
- private String head;
- private String body;
- private String foot;
- public String getHead() {
- return head;
- }
- public void setHead(String head) {
- this.head = head;
- }
- public String getBody() {
- return body;
- }
- public void setBody(String body) {
- this.body = body;
- }
- public String getFoot() {
- return foot;
- }
- public void setFoot(String foot) {
- this.foot = foot;
- }
- }
- public class Man extends Person {
- public Man(){
- System.out.println(“开始建造男人");
- }
- }
- public class Woman extends Person {
- public Woman(){
- System.out.println(“开始建造女人");
- }
- }
- public class Test{
- public static void main(String[] args) {
- PersonDirector pd = new PersonDirector();
- Person womanPerson = pd.constructPerson(new ManBuilder());
- Person manPerson = pd.constructPerson(new WomanBuilder());
- }
- }
0 0
- 10.java设计模式(读书笔记)建造者模式
- 设计模式读书笔记-----建造者模式
- 设计模式读书笔记-----建造者模式
- 设计模式读书笔记-----建造者模式
- 设计模式读书笔记-----建造者模式
- 设计模式读书笔记-----建造者模式
- (转)设计模式读书笔记-----建造者模式
- 设计模式读书笔记:Builder(建造者)
- 《大话设计模式》读书笔记:建造者模式与观察者模式
- JAVA-建造者设计模式
- 读书笔记--建造者模式
- Java设计模式-----Builder建造者模式
- Java设计模式-----Builder建造者模式
- JAVA设计模式--建造者模式
- java设计模式之建造者模式
- java设计模式之建造者模式
- 设计模式(JAVA)-------建造者模式
- java设计模式之建造者模式
- MongoDB高级查询用法大全
- JavaSE 基础知识
- 订制液晶屏需提供的参数
- mybatis-中级篇-UserMapper.java
- Nova API服务之 创建虚拟机流程(3)
- 10.java设计模式(读书笔记)建造者模式
- 关于几个不易记住的概念gini指数,Entropy熵等
- o蓝屏之死---stop:0X000000c5(0x000000c4等系列)---Mr.Zhang
- C在linux 下完成 引用传递
- linux ulimit生效的问题
- main函数之前执行
- 欧拉函数
- Google VR SDK for Android
- 华硕笔记本A45V的bios密码取消设置