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

做公司企业网站外包项目网站

做公司企业网站,外包项目网站,92号汽油价格最新,wordpress主题存放目录1.单例模式 单例模式主要用于某个类有且只能用一个对象的场景,单例模式下不能外部实例化对象,由类内部自行私有化实例对象并提供一个可以获得该对象的方法。单例模式主要有饿汉模式(安全,但在编译时就会自动创建对象,…

1.单例模式

单例模式主要用于某个类有且只能用一个对象的场景,单例模式下不能外部实例化对象,由类内部自行私有化实例对象并提供一个可以获得该对象的方法。单例模式主要有饿汉模式(安全,但在编译时就会自动创建对象,即使不使用对象也会存在,会造成一定资源的浪费)、懒汉模式(安全,通过synchroized锁实现,每次获取对象时都会加锁,会对性能有一定影响)、DCL模式(基本安全,通过synchroized锁实现,在获取对象的方法内部加锁,当已经实例化对象时不会加锁直接返回对象,但在极少数情况下会出现线程不安全的情况)、静态内部类模式(安全,在类内定义一个静态的私有化的类来实例化对象)。

饿汉模式:
public class CEO {private static final mCEO = new CEO();//私有化实例化对象private CEO() { }//私有化构造方法public static CEO getCEO() {return mCEO;}//提供获取对象的接口
}
懒汉模式:
public class CEO {private static CEO mCEO;private CEO() { }public static synchroized CEO getCEO() {if(mCEO == null) {mCEO = new CEO(); }return mCEO;}//synchroized,加同步锁,保证唯一;
}DCL模式:
public class CEO {private static CEO mCEO = null;private CEO() { }public static CEO getCEO() {if(mCEO == null) {synchroized(CEO.class) {if(mCEO == null) {mCEO = new CEO();}}}return mCEO;}
}静态内部类模式:当外部类被加载时,静态内部类不会立即加载,只有在第一次调用内部类的静态成员或方法时才会加载,这样实现了懒加载的效果。同时,类加载过程是线程安全的,因此静态内部类单例模式也是线程安全的
public class CEO {private CEO() { }public static CEO getCEO() {return CEOInstance.mCEO;}//静态内部类private static class CEOInstance {private static final CEOInstance mCEO = new CEO();}
}

2.构建者模式

用于创建复杂对象,将对象的创建与表示分离、按步奏创建对象,通常包含以下角色。
产品(Product)——要创建的复杂对象,一般包含多种属性;
抽象构建者(Abstract Builder)——创建产品的各个抽象方法,以及返回最终产品的方法;
具体构建者(Concrete Builder)——负责产品的具体创建,以及最终产品的返回;
指导者(Director)——使用构建者构建产品;

public class Product {private String partA;private Int partB;private Double partC;public get();//相应参数的get方法public set();//相应参数的set方法
}
public interface Builder {void buildPartA(String part);void buildPartA(Int part);void buildPartA(Double part);Product getProduct();
}
public ConcreteBuilder implements Builder {private Product product;public ConcreteBuilder() {product = new Product();}@Overridepublic  void buildPartA(String part) {product.setPartA(part);}@Overridepublic  void buildPartA(Int part) {product.setPartB(part);}@Overridepublic  void buildPartA(Double part) {product.setPartC(part);}@Overridepublic  Product getProduct() {return product;}
}
public class Director {private Builder builder;public void setBuilder(Builder builder) {this.builder = builder;}public Product concreteProduct() {builder.builderPartA("partA");builder.builderPartB(45);builder.builderPartC(1.44);return builder.getProduct();}
}
//实际使用
ConcreteBuilder builder = new ConcreteBuilder();
Director director = new Director();
director.setBuilder(builder);
Product product = director.concreteProduct();

3.工厂模式

特点:向上转换思想;不直接new对象,子类具体决定实例化什么对象;
应用:需要生成复杂对象的地方;
角色:抽象工厂、具体工厂、抽象产品、具体产品;
通用模式写法:
抽象工厂——定义一个返回抽象产品的抽象方法,该方法负责构造产品;
具体工厂——重写构造产品的方法,返回对象为具体产品;
抽象产品——定义一个抽象方法,该方法与产品关联;
具体产品——根据具体产品重写父类中与产品关联的抽象方法;

//抽象产品
public abstract class Product{public abstract void fuction();
}
//具体产品A
public class ProductA extends Product{@Override public void function() {system.out.println("产品A的功能是...")}
}
//具体产品B
public class ProductB extends Product{@Override public void function() {system.out.println("产品B的功能是...")}
}//抽象工厂写法
public abstract class Factory{public abstract  Product  createProduct();
}
//具体工厂写法
public ConcreteFactoryA extends Factory {@Overridepublic ProductA createProduct() {return new ProductA();}
}
public ConcreteFactoryB extends Factory {@Overridepublic ProductB createProduct() {return new ProductB();}
}
//客户or测试
public class Client{public static void main(String[] args) {Factory factory = new ConcerateFactoryA();   Product product = factory.createProduct();product.fuction();}
}
http://www.yayakq.cn/news/193572/

相关文章:

  • 网站开发硬件设计找生产建筑模板的厂家
  • 搭建网站教学规模以上工业企业数量
  • 个人网站开发与设计摘要福州网站开发fjfzwl
  • 深圳网站设计公司 学校中国黄金集团建设有限公司官方网站
  • 小说网站签约作者应该怎么做苏州网站建设专家
  • 网站上做公司宣传seo优化推广工程师招聘
  • 网站使用了seo优化工具怎么检测软件定制为什么不给源码
  • 网站职位推荐怎么做网站关键词优化公司
  • 中天建设集团有限公司总网站惠州市网站开发
  • 从网站栏目看网站功能河北省建设机械会网站首页
  • 做一网站优化要多少钱智能网联对应的职业
  • 哪些网站不扣流量做网站可视化
  • 旅游景点企业网站排名网站建设模板是什么意思
  • 钉钉创建企业外贸网站建设网站优化
  • 织梦儿童早教教育培训网站模板安卓app开发教程视频免费
  • 网站没有后台登陆文件夹网站开发做什么
  • 网站开发技术概况随便来一个公司邮箱
  • 潮州网站seo推广安阳建筑设计
  • 做网站需要学那些导入 wordpress
  • 域名查询服务器资阳优化团队市场
  • 温州网站建设技术托管网站数据库搬家
  • 租车网站开发wordpress 评论 沙发
  • 高度重视局门户网站建设网页微信版客户端下载
  • 怎么建个自己的网站html5网站有点
  • 编程网站开发培训河南省住房与建设注册中心网站
  • 社交网站图片展示阿里巴巴建设电子商务网站目的
  • 手机怎么建设视频网站吉安公司做网站
  • 泰安房产网站wordpress 分类 配图
  • 网站开发项目小组成员职责网站建设后需要维护吗
  • 品牌网站推广方案建设企业网站支票打印软件