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

科技馆网站建设方案网站设计人员

科技馆网站建设方案,网站设计人员,网页在线代理服务器,涿州市网站建设不要担心冗长#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.w-s-a.com/news/8679/

相关文章:

  • 成功案例展示网站做网站赚多少钱
  • 建设银行网站用什么字体网站建站后维护需要做哪些
  • 有哪些做平面设计好素材网站有哪些开网站建设
  • 国际交流网站平台有哪些筑建网
  • 网站程序是如何开发的江门市住房建设管理局网站
  • 网站建设一般需要几个步骤昵图网免费素材
  • 个人网站建设需求说明书微信域名防封在线生成
  • 专业网站建设的公司wordpress后台没有模板
  • 哈尔滨网站运营服务商制作外贸网站公司
  • 个人网站需要备案宁波网站推广工具
  • 苏州建设银行网站首页wordpress修改密码
  • 网站建设员工技能要求网站制作简单协议
  • 没有ipc备案的网站wordpress isux主题
  • 清远做网站电子商务网站建设需要的语言及特点6
  • 万州那家做网站c语言基础知识入门
  • 齐河网站建设公司价格网站建设包括什么
  • 论坛网站开发费用怎么把文件放到网站的根目录
  • 海南省零售户电商网站官渡区住房和城乡建设局网站
  • 怎么找淘宝客网站最新军事战况
  • 缺乏门户网站建设网页设计与制作项目教程第二版
  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司
  • google 浏览器开源seo软件
  • 网站空间是什么意思自己怎样建设网站
  • 国外家装设计网站如何做软件开发
  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法