当前位置: 首页 > news >正文

私活做网站网站推广在哪好

私活做网站,网站推广在哪好,2021年房价下跌已成定局,wordpress修改默认后台登录链接创建型-抽象工厂 角色 抽象工厂: 声明创建一个族产品对象的方法,每个方法对应一中产品,抽象工厂可以是接口,也可以是抽象类;具体工厂: 实现抽象工厂接口,复杂创建具体的一族产品;抽…

创建型-抽象工厂

角色

  1. 抽象工厂: 声明创建一个族产品对象的方法,每个方法对应一中产品,抽象工厂可以是接口,也可以是抽象类;
  2. 具体工厂: 实现抽象工厂接口,复杂创建具体的一族产品;
  3. 抽象产品:定义一类产品的公共接口,描述一类产品的特定行为或者属性;
  4. 具体产品:实现抽象产品接口,定义具体产品的特定行为和属性;

其中,一族的概念可根据业务情况进行分族。比如:形状,颜色可分为两个族,再比如,植物, 动物也可以分为两个族。族的概念根据区分维度不同可分为不同的族;

图解

在这里插入图片描述

实现案例

这个案例中按照年龄将人分为小孩,老年人,中年人三族,产品分为上衣、裤子、鞋子三个种类;其中实现了老年人和小孩两个族衣服的抽象工厂。

抽象产品类:

/** 上衣抽象类*/
public abstract class Jacket {public abstract void wearJacket();
}/** 鞋子抽象类*/
public abstract class Shoes {public abstract void wearShoes();
}/** 裤子抽象类*/
public abstract class Trousers {public abstract void wearTrousers();
}

具体产品类:

/** 小孩衣服的具体类*/public class ChildishJacket extends Jacket {@Overridepublic void wearJacket() {System.out.println("小孩的上衣");}
}
public class ChildishShoes extends Shoes {@Overridepublic void wearShoes() {System.out.println("小孩的鞋子");}
}
public class ChildishTrousers extends Trousers {@Overridepublic void wearTrousers() {System.out.println("小孩的裤子");}
}/** 老年人衣服的具体类*/
public class OldJacket extends Jacket {@Overridepublic void wearJacket() {System.out.println("老年人上衣");}
}
public class OldTrousers extends Trousers {@Overridepublic void wearTrousers() {System.out.println("老年人的裤子");}
}
public class OldShoes extends Shoes {@Overridepublic void wearShoes() {System.out.println("老年人的鞋子");}
}

抽象工厂类:

/** 生产衣服的抽象工厂*/
public abstract class AbstractClothesFactory {public abstract Jacket createJacket();public abstract Shoes createShoes();public abstract Trousers createTrousers();
}

具体工厂类:

/** 儿童衣服生产工厂*/
public class ChildishClothesFactory extends AbstractClothesFactory {private static ChildishClothesFactory INSTANCE = new ChildishClothesFactory();public static ChildishClothesFactory getInstance(){return INSTANCE;}@Overridepublic Jacket createJacket() {return new ChildishJacket();}@Overridepublic Shoes createShoes() {return new ChildishShoes();}@Overridepublic Trousers createTrousers() {return new ChildishTrousers();}
}/** 老年人衣服生产工厂*/
public class OldClothesFactory extends AbstractClothesFactory{private static OldClothesFactory INSTANCE = new OldClothesFactory();public static OldClothesFactory getInstance(){return INSTANCE;}@Overridepublic Jacket createJacket() {return new OldJacket();}@Overridepublic Shoes createShoes() {return new OldShoes();}@Overridepublic Trousers createTrousers() {return new OldTrousers();}
}

使用:

public class Main {public static void main(String[] args) {//生产儿童一族的衣服ChildishClothesFactory childishClothesFactory = ChildishClothesFactory.getInstance();Jacket childishJacket = childishClothesFactory.createJacket();Shoes childishShoes = childishClothesFactory.createShoes();Trousers childishTrousers = childishClothesFactory.createTrousers();//生产老年人一族的衣服OldClothesFactory oldClothesFactory = OldClothesFactory.getInstance();Jacket oldJacket = oldClothesFactory.createJacket();Shoes oldShoes = oldClothesFactory.createShoes();Trousers oldTrousers = oldClothesFactory.createTrousers();childishJacket.wearJacket();oldJacket.wearJacket();}
}

总结

  1. 抽象工厂是生产一族的产品,族的概念可根据不同的业务规则区分。
  2. 扩展产品族非常困难。增加一个新的产品族需要修改抽象工厂和所有具体工厂的代码。
  3. 对于新增族来说,满足开闭原则,而对于新增产品来说,不满足开闭原则。
http://www.jinmujx.cn/news/106931.html

相关文章:

  • zblog蓝色简洁企业网站模板青岛快速排名优化
  • 网站建设公司的性质google怎么推广
  • 怎么做论坛的网站企业员工培训总结
  • 销售网站怎么做的如何做google推广
  • 织梦网站系统删除不了企业seo顾问公司
  • wordpress音视频播放器seo算法优化
  • 存量权益登记在哪个网站上做淄博seo培训
  • 河南做网站联系电话万网域名查询注册商
  • 怎么玩互联网能赚钱百度网站怎么优化排名
  • sqlite 做网站数据库爱站工具包怎么使用
  • asp.net旅游网站开发文档b站推广入口2022
  • 一个刚有官网的公司怎么做网站运营whois域名查询
  • 精利手表网站竞价托管外包哪家好
  • 出色的网站设计百度关键词搜索量
  • 个人兴趣图片集网站建设深圳新闻最新事件
  • 通过高权重网站做长尾关键词最新长尾关键词挖掘
  • 优化网站推广百度推广客服电话
  • 怎么做网站的内链外链网站制作的基本流程是什么
  • wordpress爆破密码字典石家庄谷歌seo公司
  • 郴州网站建设服务每日一则新闻摘抄
  • 做网站需要注意事项保定seo外包服务商
  • 北京做网站优化淘宝运营团队怎么找
  • 互联网金融网站设计网站优化的主要内容
  • 织梦网站地图怎么做搜索引擎平台
  • 建设企业网站流程服务网站排名咨询
  • 新媒体公司网站怎么做seo是什么姓
  • 做企业网站那家好免费大数据平台
  • 公司注册网站建设chinaz站长素材
  • 东阳建设网站国外域名
  • 网站诊断博客我赢网客服系统