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

领手工在家做的网站2019汽车网站网址大全

领手工在家做的网站2019,汽车网站网址大全,网页设计计费,clh网站建设公司不要担心冗长#xff0c;3分钟解决面试和学习问题#xff0c;收藏再看 目的#xff1a;当作一种模板#xff0c;结合自身特点#xff0c;针对项目需求来使用 目录 单例模式 特点#xff1a; 实现方式#xff1a; 1、饿汉式 2、线程安全的懒汉式 3、双重校验锁 使…不要担心冗长3分钟解决面试和学习问题收藏再看 目的当作一种模板结合自身特点针对项目需求来使用 目录 单例模式 特点 实现方式 1、饿汉式 2、线程安全的懒汉式 3、双重校验锁 使用经验 工厂模式 特点 实现方式 1、简单工厂模式 2、工厂方法模式 3、抽象工厂模式 ​编辑 使用经验: 适配器模式 组成 特点 实现方式 ​编辑 使用经验 代理模式 特点 实现方式 1、静态代理 2、动态代理 ​编辑 使用经验 观察者模式 特点 实现方式 ​编辑 使用经验: 单例模式 特点 整个程序该类 唯一实例化对象统一管理调度避免资源多重占用节省内存开销节省性能开销 实现方式 1、饿汉式 先初始化好变量需要时直接返回 //Kotlin object Singleton//Java public class Singleton{private Singleton(){}private static Singleton instace new Singleton();public static Singleton getInstance(){return instance;} }2、线程安全的懒汉式 使用同步锁解决懒汉式线程安全问题 //Kotlin Class Singleton private constructor(){private var instance:Singleton? nullfun get():Singleton{if (instance null){synchronized(this){if (instance null){instance Singleton()}}}return instance!!} } //Java public class Singleton{private Singleton(){}private static Singelton instance;public static sychronized Singleton getInstance(){if(instancenull){instance new Singleton();}return instance;} }3、双重校验锁 考虑线程安全基于同步锁来创建并返回唯一实例对象 //Kotlin companion object{val instance:Singleton by lazy(mode LazyThreadSafetyMode.SYNCHRONIZED) {Singleton()} }//Java public class Singleton{private volatile static Singleton instance;private Singleton(){}public static Singleton getInstance(){if(instace null){synchronized(Singleton.class){if(instance null){instance new Singleton();}}}return instance;} } 4、静态内部类 静态提供单个实例实例通过内部类创建 //Kotlin class Singleton private constructor(){companion object{val instance SingletonHolder.holder}private object SingletonHolder{val holder Singleton()} }//Java public class Singleton{private static class SingletonHolder{private static Singleton instance new Singleton();}private Singleton(){}public static Singleton getInstance(){return SingletonHolder.instance;} }使用经验 线程安全和性能要求高 使用饿汉式、双重检查锁需要保证创建单例是第一次访问时使用了懒汉式、静态内部类 工厂模式 特点 不直接实例化对象通过工厂创建对象 实现方式 1、简单工厂模式 只创建一个工厂工厂可以产多个产品利用接口实现统一 接口 interface ICar {fun printColor()fun installEngine()fun installWheels()fun installSystem()fun doit() } 产品类: class CarA :ICar {private lateinit var color: Stringprivate lateinit var engine:Stringprivate lateinit var wheels:Stringprivate lateinit var system:Stringoverride fun printColor() {color redprintln(it is red)}override fun installEngine() {engine EngineAprintln(it is $engine)}override fun installWheels() {TODO(Not yet implemented)}override fun installSystem() {TODO(Not yet implemented)}override fun doit(){printColor()installEngine()}override fun toString(): String {return $color$engine} } 工厂类 class SimpleFactory {companion object{val CAR_A CarAval CAR_B CarBfun buildCar(type:String):ICar?{var car:ICar? nullwhen(type){CAR_A- car CarA()CAR_B- car CarB()}car?.doit()return car}} } 通过工厂创建 val A SimpleFactory.buildCar(SimpleFactory.CAR_A) 输出结果 2、工厂方法模式 多产品类对应多工厂所有产品类对应一个接口统一产品大致操作所有工厂类对应一个接口统一工厂的大致操作如“生产产品” 产品接口 interface ICar {fun printColor()fun installEngine()fun installWheels()fun installSystem()fun doit() } 工厂接口 interface IFactory {fun buildCar():ICar } 工厂类同简单工厂模式一致 新增产品类如CarC同样实现ICar接口创建对应工厂C来实现IFactory接口 class CCarFactory:IFactory {private val carC CarC()override fun buildCar(): ICar {carC.doit()return carC} }3、抽象工厂模式 有多个工厂一个工厂可以生产多种产品工厂间一个接口统一同类产品间一个接口统一 多产品统一接口 多个工厂接口统一: 使用经验: 第一关注接口同类产品共有方法放产品接口工厂要生产哪几类产品的方法放同一工厂接口固定永远只有几种产品。使用简单工厂随时新建工厂生产新产品。使用工厂方法一个工厂可以生产不同种类产品。使用抽象工厂 适配器模式 不修改现有代码将不兼容的类组合在一起 组成 目标接口 Target Interface适配器 Adapter 充当两个不兼容接口间的桥梁适配者 Adaptee 需要被适配的对象该接口与目标接口不兼容客户端 Client 使用目标接口的对象 特点 当需要将一个已有的类或接口与另一个不兼容的类或接口进行协同工作时当需要对一个已有的类或接口进行修改以满足客户端的需求时但是不希望修改该类或接口的源代码当需要重新使用一个已有的类或接口但是不能直接使用该类或接口的方法时 实现方式 使用经验 由适配器来间接调用适配者方法适配者无需实现目标接口只需要当作参数或成员变量来传入适配器Java IO流每个数据源都有不同接口但是Java IO可以将它们转为统一标准接口Java Servlet API 定义一组接口处理HTTP请求与相应。每个Servlet都实现这些接口但是用户只需要实现一部分 代理模式 特点 跨模块调用跨进程调用远程web调用本地应用与远程web服务 实现方式 1、静态代理 在代理类构造中真实类最后由调用代理类的同名方法实现真实类的功能 2、动态代理 代理对象不需要接口利用JDK的API动态构建代理对象 使用经验 当不能直接访问目标对象可以访问该目标的代理对象目标对象实现的同时还可以在代理类扩展目标对象的功能静态代理中动态代理只有代理类不同用“ by 目标对象”自动加载代理过程形式参数小括号里的不能直接用必须先用变量接受保存起来调用变量使用形式参数前加val或var为成员变量可以在类里直接调用接口可以含参不可以有方法体 观察者模式 特点 定义对象之间一对多的依赖关系目标发生变化所有依赖它的对象都会得到通知并自动更新 实现方式 可以手动添加多个观察者当观察对象调用某些方法会通知并更新所有观察者的信息 所有观察者以集合形式存储在对象类里 添加观察者 通知所有观察者数据更新 使用经验: 事件处理机制Java中Swing GUI框架基于此实现当用户与组件交互组件通知注册的监听器触发相应事件日志记录日志变化通知文件输出流控制台输出流用户界面设计用户与UI元素交互它们像注册的监听器发送事件通知出发相应事件多线程编程线程发生变化向其他线程通知实现线程间协作和同步
http://www.hkea.cn/news/14553496/

相关文章:

  • 河北众成建设有限公司网站上海短视频拍摄制作公司
  • php网站源代码许昌定制网站建设代理
  • 如何制作一个网站做淘宝券网站做自适应
  • 网站注可以充值的网站怎么建设
  • 找加工厂上什么网站58同城网站的建设目标是什么
  • 互联网网站建设公司frp可以做网站吗
  • 网站开发验收报告模板wordpress 仿站 主题
  • 推荐 官网 潍坊网站建设承接网站建设
  • 广州网站优化关键词方法重庆大渡口营销型网站建设公司推荐
  • 卧龙区微网站建设saas建站平台介绍
  • 如何自己做淘宝网站wordpress百度经验
  • 上市公司专利查询网站上海闵行区租房价格
  • 德惠网站网页制作教程的应用领域
  • 重庆地区专业做网站的公司全国备案查询系统
  • 找人设计的网站网站建设优化托管
  • 如何自己写一个网站张家港质监站网址
  • 社交网站开发技术岗网站开发语言p
  • 网站域名续费制作游戏编辑器app
  • 公司网站如何制作设计单页加盟网站模板
  • 怎样宣传网站做网站项目
  • 网站备案需要网站建设完毕不郑州做网站狼牙
  • 西安公司网站如何建立wordpress 360 google
  • 常用的网站建设技术包括天津建设工程信息网官网平台
  • 做网页用的网站no.7 wordpress 破解
  • 电子商务战略选择 网站建设建议品质网站设
  • 论坛网站模板免费下载营销策划有限公司经营范围
  • 昆明网站建设优化技术企业网站建设有几种形式
  • 农业信息网站 建设学做网站的软件
  • 制作个网站需要多少钱高校二级网站建设要求
  • 目前会展相关网站的建设情况怎么导入wordpress模板