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

奥运会网站制作涞水住房和城乡建设厅网站

奥运会网站制作,涞水住房和城乡建设厅网站,简单学生的网页代码,网页代码模板一、概念 分为三大类、23中具体设计模式。 类型原理具体模式创建型封装了具体类的信息,隐藏了类的实例化过程。 单例模式(Singleton) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory&#xf…

一、概念

分为三大类、23中具体设计模式。

类型原理具体模式
创建型封装了具体类的信息,隐藏了类的实例化过程。

单例模式(Singleton)

工厂方法模式(Factory Method)

抽象工厂模式(Abstract Factory)

建造者模式(Builder)

原始模式(Prototype)

结构型

类结构:采用继承机制来组合接口实现。

对象结构:组合对象来实现新功能。

适配器模式(Adapter)

代理模式(Proxy)

门面模式(Facade)

桥梁模式(Bridge)

装饰模式(Decorator)

合成模式(Composite)

享元模式(Flyweight)

行为型

类行为:使用继承关系在几个类之间分配行为。

对象行为:使用对象聚合的方式来分配行为。

观察者模式(Observer)

策略模式(Strategy)

模板方法模式(Template Method)

命令模式(Command)

迭代器模式(Iterator)

调停者模式(Mediator)

状态模式(State)

责任链模式(Chan Of Responsibility)

访问者模式(Visitor)

备忘录模式(Memento)

解释器模式(Interpreter)

二、创建型

模式说明解决的问题原理备注
单例模式

●实现一个类只有一个实例

●提供一个全局访问点

保证一个类只有一个对象,降低对象之间的耦合度。

①私有化构造方法。

②创建私有变量在内部实例化。

③定义公共方法供外部获取唯一实例。

懒汉式、饿汉式、枚举、静态内部类
简单工厂模式将“类实例化的操作”和“使用对象的操作”分开。使用这可以直接实例化多个类对象而不需要知道其创建细节。

创建工厂类提供静态方法,根据传入不同参数而返回不同产品类的实例。

-

工厂方法模式

优化简单工厂模式中的问题:工厂一旦需要生产新产品就需要修改工厂类的方法逻辑,违背了“开放-关闭”原则。将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化哪一个产品类。在添加新的产品时就不用修改工厂逻辑而是添加新的工厂子类。
抽象工厂模式优化工厂方法模式中的问题:一个具体工厂只能创建一种产品,实际生活中一个工厂往往需要生产多种产品。使用接口来创建一组相关产品,而不需要关心实际生产出的产品具体是什么,以此达到解耦。-
建造者模式隐藏创建对象的过程和细节,在不知道这些的情况下就可以直接创建复杂的对象。

●降低创建单个复杂对象的难度

●隔离复杂对象的创建和使用

封装了创建复杂对象的过程,只需要指定类型和内容。

●建造者以简化创建单个复杂对象为目的

●工厂以简化创建多个对象为目的。

三、结构型

模式说明解决的问题原理备注
适配器模式定义一个包装类用于包装不兼容接口的对象。把一个类的接口变换成客户端锁期待的另一种接口,从而是原本不匹配而无法一起工作的两个类能够在一起工作。把要适配类的API转为目标类的API,类适配器模式使用继承关系,对象适配器模式使用委托关系。

●灵活使用时:选择对象适配器模式

●需要同时适配源类和其子类:选择对象适配器

●需要重新定义Adapter的部分行为:选择类适配器

●仅仅希望食用方便时:选择类适配器模式

门面模式定义一个更高层的统一接口,外部通过这个接口对子系统中的一群接口进行访问。

●避免了系统和系统之间的高耦合度

●使得复杂的子系统用法变得简单,提高了客户端的使用便捷性,无需关心子系统工作细节,通过门面角色即可调用相关功能。

创建一个统一的门面类,用来包装子系统中一个或多个复杂的类,客户端通过该门面类的方法来调用子系统中所有的方法。

●适配器模式:将一个对象包装起来以改变其接口,为的是转换接口。

●门面模式:将一群对象“包装”起来以简化其接口,为的是简化接口的使用。

代理模式(静态&动态)

为目标对象设置一个代理对象,由代理对象调用目标对象的方法,通过访问代理对象达到间接访问目标对象的效果。

防止直接访问目标对象带来的复杂性和安全问题。外接访问代理对象,代理对象内部创建并调用目标对象。

●远程代理:为一个对象在不同地址空间提供局部代表。

●虚拟代理:通过一个开销小的对象代理一个开销大的对象。

●保护代理:控制目标对象的访问保护目标对象。

使用时才创建动态代理类和实例。通过反射动态调用目标对象的方法。解决静态代理在目标对象较多的情况下,一个静态对象只能代理一种目标目标对象而出现静态代理对象量多、代码量大,从而导致代码变复杂的问题。

●设计动态代理(DynamicProxy)时不需要显示实现与目标对象(RealSubject)相同的接口,而是将这种实现推迟到程序运行时由JVM来实现。

●通过Java反射机制的method.invoke(),通过调用动态代理类对象方法,从而自动调用目标对象的方法。

●静态代理场景下需要代理对象数量较多的情况下使用动态代理。

●AOP领域面向切面变成。

四、行为型

模式说明解决的问题原理备注
策略模式定义一系列算法,将每个算法封装到具有公共接口的一系列策略类中。解耦算法本身和其责任,使得客户端方便根据外部条件选择不同策略来解决问题,算法可独立于使用者而变化。

●定义抽象策略类角色(Strategy)

●定义具体策略角色(Concrete Strategy)

●定义环境角色(Context)用于连接上下文,即根据参数设置不同策略。

用于动态选择多重复杂算法的场景。

观察者模式

(发布订阅模式)

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将收到通知并做出响应。解耦常变对象与不常变对象之间的依赖关系(如常变的UI和不常变的业务逻辑)。

●观察者只需要实现 Observer 接口把自己注册到 Subject 中,就能收到事件消息。

●被观察者(Observable)通过订阅(Subscribe)按顺序发送时间给观察者,观察者按顺序接收时间并做出响应。

●推模型:不管观察者是否需要都推送主题的详细信息。

●拉模型:若观察者需要更具体的信息,由观察者主动到主题主题对象中获取。

模板方法模式定义一个模板结构,将具体内容延迟到子类去实现。实现了反向控制,通过父类调用其子类的操作,通过对子类的具体实现扩展不同的行为。将相同部分的代码放在抽象的父类中,将不相同的代码放入不同的子类中。一次性实现一个算法的不变部分,将可变的行为留给子类来实现。

http://www.yayakq.cn/news/579001/

相关文章:

  • 贵阳营销型_网站建设深圳比较出名的互联网公司
  • 叮当设计网站营销型电子商务网站
  • 东莞做网站多少钱网站建设费用属于管理费用科目
  • 客户管理系统小程序seo关键词优化排名公司
  • 用enfold做的网站一般通过后补贴什么时候到
  • 免费建站系统哪个好用吗有没有可以做网站动图的软件
  • 黑龙江网站建设工作室铜仁做网站
  • app开发与网站建设seo搜索引擎优化师
  • 刷单网站建设网页素材制作
  • 超链接到网站怎么做视频微信公众号分销功能
  • wordpress 多语言建站华为荣耀官网
  • 零食网站建设需求分析免费网页设计生成器
  • 企业建立网站需要什么条件买网站服务器要多少钱
  • 枣庄网站seowordpress发布文章后页面错误
  • 免费ppt模板下载大全网站空间设计英文
  • 招聘网站制作公司超级网站模板下载
  • 邢台推广网站建设电话wordpress 图片暗箱插件
  • 四子王旗建设局网站软件外包公司可以去吗
  • 广东网站建设服务大连做网站哪家好一点
  • 什么叫网站权重宁波建工工程集团有限公司
  • 怎么样做购物网站动漫设计与制作有什么学校
  • 苏州专业做网站公司有哪些c2c模式名词解释
  • 汶上县建设局官方网站网站建设模式有哪些内容
  • 网站开发跟app开发的差别建筑设计主要内容
  • wap网站制作教程全国最大网站建站公司
  • 深圳市工程交易中心网站包头全网营销网站建设
  • 网站备案跟域名备案学习网站建设要什么学历
  • 请将已备案网站接入访问网页微信聊天电脑有记录吗
  • 嘉兴英文网站建设电子商务网站建设 精品课程
  • 怎么建设网站网页游戏国内优秀网站设计