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

珠海网站建设工程阿里云网站建设模板

珠海网站建设工程,阿里云网站建设模板,服务好的网站建设平台,wordpress配件商城主题一、定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。 二、组成: 1.抽象工厂:工厂模式的核心,声明工厂方法,返回抽象产品对象。 2.具体工厂:实现工厂方法,返还具体的产品…

一、定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。

二、组成:

        1.抽象工厂:工厂模式的核心,声明工厂方法,返回抽象产品对象。

        2.具体工厂:实现工厂方法,返还具体的产品对象。

        3.抽象产品:定义产品的相关接口。

        4.具体产品:实现抽象产品的具体类。

三、具体例子:

        抽象产品

        public abstract class Product {

                public abstract void method();

        }

        具体产品A

        public class ConcreteProductA extends Product {

                @Override

                public void method(){

                        System.out.printn("I'm product A");

                }

        }

        具体产品B

        public class ConcreteProductB extends Product {

                @Override

                public void method(){

                        System.out.printn("I'm product B");

                }

        }

        抽象工厂

        public abstract class Factory{

                public abstract  <T extends Product> createProduct(Class<T> clz);

        }

        具体工厂

        public class ConcreteFactory extends Factory{

                @Override

                public <T extends Procut> createProduct(Class<T> clz){

                        Product p = null;

                        try{

                                p  = (Product) Class.forName(clz.getName()).newInstance();

                        } catch (Exception e){

                                e.printStackTrace();

                        }

                }

        }

        客户端使用

        public class Client{

                public static void main(String[] args){

                        Factory factory = new ConcreteFactory();

                        Product p = factory.createProduct(ConcreteProductB.class);

                        p.method();

                }  

        }

四、应用场景:

        1.创建复杂对象:BitmapFactory

        2.动态加载布局:LayoutInflater的inflate()

        3.Fragment实例化:重写onCreateView方法创建具体的view

        4.MVP/MVVM架构中的对象创建:使用工厂方法创建Presenter或viewModel,避免直接new 对象

五、优缺点:

优点

        解耦:将对象创建逻辑与业务代码分离

        扩展性:新增产品类型只需要增加新工厂类,符合开闭原则

        统一管理:集中控制对象的创建过程

缺点

        类数量增加:每增加一个产品,需要新增对于的工厂类

        复杂度提升:对简单对象创建显得冗余


文章转载自:

http://tEbj8eby.thntp.cn
http://bSFr7pcS.thntp.cn
http://68HqZu0J.thntp.cn
http://dMwIM2Wv.thntp.cn
http://6JpZTRP2.thntp.cn
http://pIo7qZYm.thntp.cn
http://8iKOGmag.thntp.cn
http://Sc6tWKq9.thntp.cn
http://V9X4X0B1.thntp.cn
http://EKA214oM.thntp.cn
http://sC7fVcKY.thntp.cn
http://MMnHGbum.thntp.cn
http://qdQyCjSQ.thntp.cn
http://nvkvNJBo.thntp.cn
http://C63mf7Rg.thntp.cn
http://HRxwHAwQ.thntp.cn
http://XC10TmY5.thntp.cn
http://XuUF1LBC.thntp.cn
http://UrUUfmCf.thntp.cn
http://I79RPMXL.thntp.cn
http://nz8tONsu.thntp.cn
http://xJry5MlH.thntp.cn
http://sGVcgGs4.thntp.cn
http://FA3V1Uba.thntp.cn
http://z3RkqRJq.thntp.cn
http://nUl5cncX.thntp.cn
http://rbcja13L.thntp.cn
http://HK8RKawj.thntp.cn
http://RCo2ernV.thntp.cn
http://6k66223g.thntp.cn
http://www.dtcms.com/wzjs/758466.html

相关文章:

  • 网站感谢页面著名wordpress个人博客
  • asp网站显示空白公司商标设计logo图案
  • 民权做网站推广普通话的意义50字
  • 湛江专业建站公司易科技 建设网站
  • 塘沽做网站比较好的培训学校设计
  • 天津做网站好的公司网站权重如何查询
  • 丹阳做网站的公司中国建设银行登录入口
  • 设计素材网站黄金烤肠商城开发哪家好
  • 网站推广费用入什么科目湖南中霸建设公司官网
  • 乐器网站模板wordpress主题中的文件在哪
  • 建设家具网站WordPress4.5取消了
  • 网站建设实验后体会百度贴吧入口
  • 织梦修改网站标题郴州网红打卡景点
  • 网站 搭建 亚洲服务器网站建设都包括什么
  • 做国外网站用什么颜色网络营销专业主修课程
  • 怎样在微信做产品网站有赞和凡科小程序哪个好
  • 网站微信二维码侧边栏漂浮框烟台做网站的
  • 网站栏目变了怎么做跳转电子商务网站建设视频教程
  • visual studio制作网站开发怎么样让网站网址有图标
  • 建设一个视频网站需要什么毕设做系统与网站答辩
  • 怎么做购物网站系统文本wordpress主题正版
  • 门户网站网页设计规范简述网站建设主要流程
  • 彩票网站的推荐怎么做浙江建站优化品牌
  • 网站怎么做导航有专门做背景音乐的网站吗
  • 东莞专业做淘宝网站建设餐饮店如何引流与推广
  • 网站建站前seo注意建站开发工具
  • 网站建设及那个科目php能建立网站吗
  • 江苏省住房建设厅网站首页湛江专业网站建设公司
  • 网站后台如何设计郑州证件制作
  • 质量检测中心培训网站网站建设与运维预算