【设计模式】
文章平均质量分 78
FlashSu
这个作者很懒,什么都没留下…
展开
-
Singleton 单例模式
Singleton 单例模式应用场景单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。在我们编写的很多无状态应用中,数据存储在数据库或由前端页面、调用方传入。因此业务逻辑处理类使用单例实现即可,类似的,一些工厂类也可用单例来进行实现。日常开发中,Java应用一般都采用Spring框架,Spring天生支持单例的实现,不需要我们关心,但面试中还是会经常被问到单例的实现方式,一来是考察对这个设计模式的理解,另一方面也是考察对细节的掌握程度。因此,这次复习设计模式,决定重新梳理下相关的实现方法原创 2021-06-27 16:12:21 · 140 阅读 · 1 评论 -
设计模式-简单的单例
设计模式-“简单”的单例设计模式-“简单”的单例概要实现饿汉式懒汉式双重检查锁定枚举实现方式小结PS:CSDN中的单例概要一些场景下,针对一些类,我们往往只需要实例化出一个对象,这样的类我们称为单例类,创建的实例对象,称之为单例对象,比如操作系统中的任务管理器,展示系统资源使用情况,如果此时存在多个对象,还需要保持多个对象之间数据一致性,反而使得程序...原创 2018-03-22 01:51:17 · 312 阅读 · 2 评论 -
【Java技术点滴】——代理模式及其对事务封装
背景 项目中我们会遇到这样的情况:在几个方法中加入相同的代码,这些代码是与业务无关的,并且以后有可能由于考虑不周或需求变动再或者是其他原因,我们需要对他们进行逐一进行改动。举个具体的例子,比如程序中的日志控制、事务控制等,这些功能是与业务无关的,但却需要将它们与我们的逻辑混在一起,达到一些特殊的需求。 这样的情况往往代码都是相同的,可以抽离出来,为了复用,我们可以将这些相同原创 2015-03-12 15:04:45 · 2190 阅读 · 3 评论 -
设计模式——行为型1
1.模板方法模式(TemplateMethod) “定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。” 结构图: 优点:该模式通过把不变行为搬移到超类,去除子类中的重复代码,达到代码充分复用的目的。 应用场景:当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类原创 2013-01-07 18:17:18 · 1069 阅读 · 4 评论 -
设计模式——行为型2
1.解释器(interpreter) “给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。” 结构图 优点:容易地改变和扩展文法,因为该模式使用类来表示文法规则,你可使用继承来改变或扩展该文法。也比较容易实现文法,因为它定义抽象语法树中各个节点的类的实现大体相似,这些类都易于直接编写。 应用场合:当有一个语言需要解释原创 2013-01-07 20:53:40 · 1173 阅读 · 7 评论 -
设计模式——结构型
将结构型设计模式按其突出体现原则划分如下: 1.适配器模式(Adapter) “将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。” 使用场合:想使用一个已经存在但接口不符合要求的类,或者创建一个可以复用但与其他不想换的类或不可预见的类协同工作。此使用规则正体现了对关闭修改扩展开放的原则。 此原创 2013-01-07 10:26:54 · 1139 阅读 · 10 评论 -
设计模式——适配器模式(NBA里有翻译)
目的:接口不符时,控制范围之外的一个原有对象与某个接口匹配。主要应用于希望复用一些现存的类,但是接口又与复用环境不一致的情况。Adapter结构图:实现功能:结构图:又与姚明刚到NBA,只能实现 进攻() 和防守() ,而无法实现Attck() 和 Defense,因此此时就需要Translator充当适配器,继承Play抽象类了。具体实现代码:namespa原创 2013-01-02 21:24:46 · 1383 阅读 · 4 评论 -
设计模式——创建型
“创建型模式抽象了实例化的过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。允许客户用结构和功能差别很大的‘产品’对象配置一个系统。配置可以是静态的,即在编译时制定,也可以是动态的,就是运行时再指定。”1.工厂方法(Factory Method) “定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个原创 2013-01-06 16:01:32 · 1121 阅读 · 8 评论 -
设计模式——从原则谈学做人、学做事、学做模式
编程来源生活,则生活也是编程的体现,几大原则亦是提炼于我门的生活。为了使程序更加可维护、可复用、可扩展、灵活性好,设计模式从几大原则出发并将其实现,达到代码复用,增强可维护性的目的。 1.开-闭原则(Open-Closed Principle) “软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。” OCP具有理想主义色彩,它是面向对象的终极目标,其他原则可看原创 2013-01-05 16:27:48 · 1564 阅读 · 14 评论 -
设计模式前传——面向对象基础(C#语言)
——最简单开始:从猫叫说起 首先实现功能 单击窗体中的“猫叫”按钮弹出“喵”叫声。 功能完善: 1.需要记录猫的名称并要求多叫几声,并能够从其他窗体调用——抽象Cat类:实现记录姓名及叫声甚至叫声次数,达到良好封装。 2.狗也来参加叫声比赛,现需实现以上功能,可继续抽象得出类Dog。 3.观察发现:Cat与Do原创 2012-12-22 20:38:27 · 1355 阅读 · 2 评论