E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
-----【设计模式学习】
设计模式学习
笔记---享元模式FlyWeight pattern(Java版)
一、场景内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的对象,我们可一通过享元模式,节省内存。围棋软件设计每个围棋棋子都是一个对象,有如下属性:可以共享(内部状态):颜色形状大小不可以共享(外部状态):位置二、实质享元模式以共享的方式高效地支持大量细粒度对象的重用。享元对象能做到共享的关键是区分内部状态和外部状态。内部状态:可以共享,不会随环境变化而改变。外部状态:不可以共享,会随环境
李国冬
·
2020-09-16 06:50
设计模式
设计模式学习
笔记--享元(Flyweight)模式
写在模式学习之前什么是设计模式:在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方案,这就是软件模式;每一个模式描述了一个在我们程序设计中经常发生的问题,以及该问题的解决方案;当我们碰到模式所描述的问题,就可以直接用相应的解决方法去解决这个问题,这就是设计模式。设计模式就是抽象出来的东西,它不是学出来的,是用出来的;或许你根本不知道任何模式,不考虑任何模式,却写着最优秀的代码,即使以“模式
新拖拉机
·
2020-09-16 05:58
设计模式
设计模式学习
笔记开篇
最近有一个想法:想要系统、灵活地学习设计模式,将其内化到自己的专业技能之中,达到凭借直觉即可应用的地步。动机从毕业到现在工作已经快两年的时间了,回望过去,感觉技术上毫无积累,这并不是一个我喜欢的状态,反而让自己内心有些慌。为了职业生涯的长远打算,遂决定深入学习一些专业技能,先从《设计模式》开始。因为设计模式上可指导架构,中可夯实设计,下可驾驭编码,是一种能够统摄全局的心法,掌握它的收益性还是很高的
长风Qiu
·
2020-09-15 20:51
设计模式
行为型模式:迭代器模式解析
ITERATOR今天是
设计模式学习
系列的第10篇,今天要学习的是–迭代器模式。带着问题出发什么是迭代器模式?迭代器解决了什么问题?适用场景?
七哥爱编程
·
2020-09-15 20:21
设计模式
设计模式
迭代器模式
行为型模式
最有用的设计模式之一-模板方法
今天是
设计模式学习
系列的第9篇,为大家带来一个使用特别广的设计模式–模板方法模式。从问题出发什么是模板方法模式?常说的钩子方法是什么?和模板方法的关联?模板方法模式和策略模式好像有点像,如何区分?
七哥爱编程
·
2020-09-15 20:21
设计模式
设计模式
java
模板方法模式
设计模式之外观模式解析
今天是
设计模式学习
系列的第8篇–外观模式。开篇问题什么是外观模式?外观模式和适配器模式的区别?外观模式解析首先我们先看一个场景,我们平常肯定都是用银行的app,在注册时,都要经过实名认证这个步骤。
七哥爱编程
·
2020-09-15 20:50
设计模式
设计模式
java
外观模式
常用设计模式之命令模式解析
今天是
设计模式学习
系列的第6篇,命令模式!带着问题出发什么是命令模式?命令模式的好处是什么?命令模式的使用场景?命令模式解析简单的来说,命令模式就是将请求的调用者和请求的接收执行者分隔开来。
七哥爱编程
·
2020-09-15 20:49
设计模式
设计模式
命令模式
java
神头鬼脸之适配器模式
今天是
设计模式学习
系列的第7篇–适配器模式。开头三问?什么是适配器模式?什么是类的适配器模式、对象的适配器模式、接口的适配器模式?适配器模式和装饰者模式的区别?适配器模式的使用场景?
七哥爱编程
·
2020-09-15 20:49
设计模式
适配器模式
设计模式
java
编程语言
抽象类
设计模式学习
笔记
学习http://blog.csdn.net/wuzhekai1985所写的设计模式的一点笔记1、几个编码原则:1)开放封闭:代码可以扩展,但不能修改;也就是考虑到以后功能的添加,统一接口,扩展外部实体;
qz_blog
·
2020-09-15 14:50
设计模式
java
设计模式学习
笔记9-外观模式
外观模式(门面模式),隐藏了系统的复杂性,并向客户提供一个或多个可访问系统功能的接口,为子系统中的一组接口提供了一个统一的访问接口,此接口使得子系统更容易被访问更简单的被调用功能;1.子系统角色/***外观模式(门面模式)--子系统角色*/@Slf4jpublicclassFacadeDeskLeg{publicvoidinstall(){log.info("子系统角色------安装桌腿----
四维空间1992
·
2020-09-15 06:57
设计模式学习笔记
外观模式(门面模式)
设计模式学习
小结
软件的设计模式是前人总结的,对一些特定问题的一般化的解决方案。使用设计模式可以最大程度地使不同功能模块达到高内聚,低耦合,可复用的形态,另开发者以一种“正确”的方式实现那些具有相同特点的需求三种类型:所有的设计模式主要解决以下3大类问题1.创建型:对象的创建2.结构型:对象的组合3.行为型:对象的通信五大原则与一个法则:五大原则:1.单一职责:一个类应该只承担单一的职责,只有一个引起它变化的原因2
Kevin_Tsang
·
2020-09-15 00:44
初学C#设计模式
为什么要有
设计模式学习
设计模式首先要弄
多麻多辣不要香菜
·
2020-09-14 16:12
设计模式
Head First
设计模式学习
总结
HeadFirst
设计模式学习
总结概念OO(object-oriented)OOA(object-oriented-analysis)OOD(object-oriented-design)OOP(object-oriented-Programming
52o。
·
2020-09-14 16:24
笔记
python
设计模式学习
https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html
Hello,C++!
·
2020-09-13 12:41
C++
设计模式学习
笔记简述
创建型模式1.抽象工厂模式(AbstractFactory):提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。2.建造者模式(Builder):将一个浮躁对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。3.工厂模式(Factory):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。4.原型模式(Prototype):用原型
weixin_30376509
·
2020-09-13 03:27
java
设计模式学习
之工厂模式和抽象工厂模式
1.工厂模式1.1介绍1.1.1概念工厂模式(FactoryPattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。1.1.2生活化比如我们去超市买东西,作为顾客,我们不需要关注商品从何而来,只要是超市上架有货,我们就可以购买,这里的超
toMatser
·
2020-09-13 02:22
设计模式
设计模式学习
笔记——状态(State)模式框架
设计模式学习
笔记——状态(State)模式框架@(设计模式)[设计模式,状态模式,State]
设计模式学习
笔记状态State模式框架基本介绍状态案例类图实现代码State接口DayState类NightState
Switchvov
·
2020-09-13 02:34
Design
Pattern
设计模式学习
之原型模式
如果说,简单工厂模式、工厂模式、抽象工厂模式、构建者模式都一定程度上解决了耦合的问题,那么接下来要学习的原型(Prototype)模式则一定程度上解决了初始化速率的问题。下面是原型模式的例子,需要特别说明的是,java中除了8中基本类型,都是引用类型,但是String只能说是一种特殊的引用类型,因为在内存分配的时候,String的值也跟8种基本类型一样,分配在常量池中。以下是转发的例子:原型模式是
wodeyuer125
·
2020-09-12 08:46
设计模式
java
java
设计模式
设计模式学习
(二):面向对象设计原则与UML类图
一、UML类图和面向对象设计原则简介在学习设计模式之前,需要找我一些预备知识,主要包括UML类图和面向对象设计原则。UML类图可用于描述每一个设计模式的结构以及对模式实例进行说明,而模式结构又是设计模式的核心组成部分,学习一个设计模式,如果不能绘制和理解其结构图,基本上等于没学。面向对象设计原则是每一个设计模式效果评价的重要依据,每一个模式都符合一个或多个面向对象设计原则,这些原则都是从无数项目中
weixin_34248849
·
2020-09-12 07:25
设计模式学习
笔记--原型模式
一.简介原型模式是指使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。简单来说,就是通过一个对象,拷贝出一个新的对象,这个对象保持和被拷贝对象相同的状态,我们可以直接在这个基础上进行修改,而不必重新初始化一个对象,再进行相关更改。原型模式UML图如下:二.原型模式的使用时机原型模式是建造模式的一种,换句话说就是我们创建对象的时候使用的一种模式,提供一种克隆的方法,从现有的对象直接复
puppet_master
·
2020-09-12 06:08
设计模式
设计模式学习笔记
游戏
设计模式学习
笔记(1)设计原则、看懂类图
游戏
设计模式学习
笔记(1)设计原则、看懂类图参考:《设计模式与游戏完美开发》《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)
ChiLi_Lin
·
2020-09-12 06:51
设计模式
游戏设计模式
学习笔记
Unity3D
设计模式学习
之建造者模式
前言建造者模式Builder在书中用来对于角色的组装,角色组装可以使用工厂模式来生存角色对象,但是如果要对角色(双方士兵)作不同差异功能的时候就要再次分开写两个新的工厂类(我方士兵工厂类,敌方士兵工厂类),如果要对士兵类添加新的功能,则可以往工厂类添加方法。但是这样做会让工厂管理类这时可以用到建造者模式了GOF对建造者模式的定义是:将一个复杂对象的构建流程与它的对象表现分离出来,让相同的构建流程可
liaoshengg
·
2020-09-11 22:54
设计模式与游戏完美开发
java
设计模式学习
之单例模式(更简单的理解设计模式)
/**有些对象我们只需要一个:线程池、缓存、硬件设备等如果多个实例会有造成冲突、结果的不一致性等问题是否可以用静态变量方式来实现?或者程序员之间协商个全局变量?单例模式:确保一个类最多只有一个实例,并提供一个全局访问点例如,公司的打印机只有一个,如果我们创建多个打印机对象,并同时下达打印的指令,那么我们所得到的打印结果可能就是混合起来的结果,所以应该使用单例设计模式,全局只容许创建一个打印机对象单
树叶要走风怎么挽留
·
2020-09-11 05:49
设计模式
知识总结
技术使用总结
设计模式学习
笔记——开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。一、什么是开闭原则举个书店售书的例子:代码如下:publicinterfaceIBook{publicStringgetName();publicintgetPrice();publicStringgetAuthor();}publicclassNovelBook
hackerain
·
2020-09-11 01:04
设计模式
设计模式
string
扩展
class
测试
interface
java
设计模式学习
之工厂模式(更简单的理解设计模式)
简单工厂模式简单工厂模式的设计方案:定义一个实例化披萨对象的类,封装创建对象的代码简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为packagecom.java.jikexueyuan.pizzastore.simplefactory;importcom.java.jikexueyuan.pizzastore.pizza.CheesePizza;importcom.java.j
树叶要走风怎么挽留
·
2020-09-10 23:14
设计模式
技术使用总结
知识总结
java
设计模式学习
之命令模式(更简单的理解设计模式)
传统OOP方式:控制器packagecom.java.jikexueyuan.commandmode;/***定义一个遥控器接口*/publicinterfaceControl{/***开*@paramslot*/publicvoidonButton(intslot);/***关*@paramslot*/publicvoidoffButton(intslot);/***回退*/publicvoid
树叶要走风怎么挽留
·
2020-09-10 23:14
设计模式
技术使用总结
知识总结
java
设计模式学习
之策略模式(更简单的理解设计模式)
OO角度1、从项目"模拟鸭子游戏"开始2、从OO的角度设计这个项目,鸭子超类,扩展超类:Duck/***以OO的角度设置这个项目。鸭子超类,拓展超类*/publicabstractclassDuck{publicDuck(){}//原本的需求默认所有鸭子都会叫都会游泳publicvoidquack(){System.out.println("--gaga--");}publicvoidswim()
树叶要走风怎么挽留
·
2020-09-10 20:14
设计模式
设计模式学习
笔记,简述概要
设计模式学习
简述设计模式简要学习笔记原则口诀:“单开迪里接依”单一职责开闭原则(扩展开放、修改封闭)迪米特法则(最小关联、最少知识)里氏替换(基类作用处可用扩展类替换)接口隔离(面向接口、隔离解耦)依赖倒置
志威梦
·
2020-08-25 09:45
设计模式——门面模式(Facade)
设计模式学习
笔记——Shulin转载请注明出处:http://blog.csdn.net/zhshulin1、概念门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。
shu_lin
·
2020-08-24 16:53
设计模式
设计模式(JAVA)
Adapter 适配器模式
设计原则学习笔记
设计模式学习
笔记作用将原本不匹配的接口转化成匹配的接口类图类适配器适配器模式对象适配器adapter_02.PNG另有接口适配器,但可以认为是类适配器的一种,故在这里不做详述。
Charles1993
·
2020-08-24 15:01
Go
设计模式学习
笔记
学习对象:https://github.com/tmrts/go-p...。这个repo使用go语言实现了一些设计模式,包括常用的Builder模式,Singleton模式等,也有列举出还未用go实现的模式,如Bridge模式等。本文并非完整地介绍和解析这个repo里的每一行代码,只对个人认为值得学习和记录的地方进行说明,阅读过repo代码后再阅读本文比较合适。FunctionalOptions这
shanyin
·
2020-08-24 14:46
设计模式
golang
design-pattern
【设计模式】空对象
设计模式学习
解决问题之前看设计模式的书并没有看到过NullObject设计模式,所谓空对象设计模式,实际上是为了规避客户端获取一个对象后(比如是指针对象),在后面调用的所有地方都要判空,否则调用方法(或者解引用)那可能就有问题了,轻则coredump重则程序没有挂但是运行是不对的.下面针对一个比较简单的例子给出场景:std::shared_ptrn;intx=*n+1;因为n本身没有被初始化,对其接引就会当掉
Ender
·
2020-08-24 13:55
设计模式
c++
c++17
optional
设计模式学习
2:单例模式
单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。1设计SingletonstaticInstance()SingletonOperation()GetSingletonData()staticuniqueInstancesingletonData2实现//饿汉模式,先创建对象classSingleton{public:staticSingleton*Instance();protec
蜗牛love天空
·
2020-08-24 09:16
面试
Bridge 桥接模式
设计原则学习笔记
设计模式学习
笔记作用以持有的方式实现接口,避免继承太多导致扩展性变差,同时实现代码的复用。
Charles1993
·
2020-08-24 02:19
设计模式学习
(增加中...)
策略模式的定义定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。所谓算法族,使用了同一接口,分别封装实现的类的集合叫做算法族。例如:设计一个鸭子游戏,有的鸭子会飞,有的鸭子不会飞(玩具鸭子);有的鸭子会叫,有的鸭子不会叫,所以分别用FlyBehavior和QuackBehavior实现飞和叫的接口,然后可以分别用具体的类来继承实现这两个接口;然后在设计一个
allen_lou
·
2020-08-23 09:32
技术应用
设计模式
算法
callback
扩展
游戏
设计模式学习
总结——观察者模式
观察者模式将观察者(订阅)和被观察者(发布)分离,实现了代码的松耦合;且定义了一对多的依赖关系,让多个观察者同事监听一个被观察者,同时一个被观察者能通知多个观察者更新。角色:抽象主题(Subject):又叫抽象被观察者(Observable),定义一个接口可以增加和删除观察者对象。抽象观察者(Observer):为所有的具体观察者定义一个借口,做更新操作。具体主题(ConcreteSubject)
ruyi366
·
2020-08-23 07:49
Java
Android
装饰模式 应用场景和实现
有个大神写的很好:参考:
设计模式学习
笔记(四:策略模式)参考:
设计模式学习
笔记(二:观察者模式)参考:
设计模式学习
笔记-代理模式参考:设计模式--装饰者模式与代理模式(重要)参考:设计模式——代理模式与装饰模式的异同
diaopai5230
·
2020-08-23 05:01
设计模式学习
之如何组合一个树(组合模式)
定义:组合模式也叫合成模式,有时又叫做部分-整体模式,主要是用来描述部分与整体的关系。对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。现在生活中有很多这样的例子,比如:公司的职级体系,文件的目录接口,包括我们的亲属关系等待,都可以用这种树形结构的设计模式来设计。组合模式的角色:Component:抽象定义的基础组件,包含组合对象默认的方法和属性,叶子
大叔是个唐僧肉
·
2020-08-23 05:29
Java设计模式
Factory Method 工厂方法模式
设计原则学习笔记
设计模式学习
笔记作用将本来某类与一个系列下的每一个类耦合,通过工厂间接联系,避免直接耦合,从而避免与不必要的类耦合。
Charles1993
·
2020-08-23 04:55
软件
设计模式学习
(十三)装饰模式
装饰者模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态增加职责,使对象之间的关联关系取代类之间的继承关系。模式动机装饰者可以在不改变一个对象本身的基础上给对象增加额外的新行为,如一张照片,可以不改变照片本身,给她增加一个相框,使得它具有防潮功能,而且用户可以根据需要增加不同类型的相框。在软件开发中,类似给照片增加相框的情况随处可见,如给一个图形界面构件增加边框、滚动等新特性。一
低吟不作语
·
2020-08-23 04:37
设计模式
软件
设计模式学习
(十七)职责链模式
系统中如果存在多个对象可以处理一个同一请求,可以通过职责链模式将这些处理请求的对象连成一条链,让请求沿着该链进行传递。如果链上的对象可以处理该请求则进行处理,否则将请求转发给下家处理模式动机很多情况下,可以处理某个请求的对象不止一个,如大学里的奖学金审批,学生先向辅导员提交审批表,辅导员签字审批后再交给系主任签字审批,接着是院长审批,最后可能是校长审批,在这个过程中,奖学金申请表可以看作一个请求对
低吟不作语
·
2020-08-23 04:37
设计模式
软件
设计模式学习
(十一)桥接模式
桥接模式桥接模式用一种很巧妙的方式处理继承存在的问题,用抽象关联取代了传统的多层继承,将类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效地控制了系统中类的个数。模式动机设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要四个形状类,如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有两种设计方案:第一种是为每一个行政都提供一套各种颜色的版本,这种方
低吟不作语
·
2020-08-23 04:37
设计模式
设计模式学习
总结(17) 责任链模式
本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。尊重作者,转载请注明晔阳的Bloghttp://blog.csdn.net/hacke217.责任链模式意图:避免请求发送者与接收者耦合在一起,让多个对
hacke2
·
2020-08-23 04:32
设计模式
设计模式读书笔记与总结
设计模式学习
总结(7) 组合模式
本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。尊重作者,转载请注明晔阳的Bloghttp://blog.csdn.net/hacke27.组合模式意图:将对象组合成树形结构以表示“部分-整体”的层次
hacke2
·
2020-08-23 04:31
设计模式
设计模式读书笔记与总结
软件
设计模式学习
(十二)组合模式
组合模式关注那些存在于叶子构件和容器构件的结构以及它们的组织形式,叶子构件中不能包含成员对象,容器构件中可以包含成员对象,这些成员对象可能是叶子构件对象,也可能是容器构件对象。这些对象可以构成一个树形结构,组合模式是用面向对象的方法处理树形结构。模式动机在Windows操作系统的文件目录结构包含文件和文件夹两类对象,其中在文件夹可以包含子文件夹,也可以包含文件。文件夹是容器类,而不同类型的各种文件
低吟不作语
·
2020-08-23 04:01
设计模式
设计模式学习
(一) — 概述
设计模式学习
(一)—概述设计模式是一套编码经验总结,在编码过程中不是一定要用上,而是在特定情况下使用特定的设计模式会增强代码的可用性和可读性;个人主页:tuzhenyu’spage原文地址:
设计模式学习
zhenyutu
·
2020-08-22 23:23
java
设计模式
设计模式学习
(二) — 创建型模式
设计模式学习
(二)—创建型模式创建型设计模式主要是用来构建对象实例,是在对象实例创建过程中的一些经验总结;个人主页:tuzhenyu’spage原文地址:
设计模式学习
(二)—创建型模式(0)基本概念创建型模式隐藏了类对象实例创建的细节
zhenyutu
·
2020-08-22 23:51
java
设计模式学习
(四) — 行为模式
设计模式学习
(四)—行为模式行为模式主要侧重与类与类或对象与对象之间的交互过程个人主页:tuzhenyu’spage原文地址:
设计模式学习
(四)—行为模式(0)基本概念行为模式是类与类或者对象与对象之间交互方式的设计总结行为模式主要包括责任链模式
zhenyutu
·
2020-08-22 23:51
java
设计模式
设计模式学习
(三) — 结构型模式
设计模式学习
(三)—结构型模式结构型模式主要是侧重于类之间结构构建的设计经验总结个人主页:tuzhenyu’spage原文地址:
设计模式学习
(三)—结构型模式(0)基本概念结构型设计模式侧重于类之间的结构构建
zhenyutu
·
2020-08-22 23:51
java
设计模式
Builder 建造者模式
设计原则学习笔记
设计模式学习
笔记作用将一个类的实例化过程和这个类本身解耦。假设一个对象是十几个属性,给每个属性搞一个set方法本身成本很高,假设我们不允许其反复设置属性,set方法更不合适。
Charles1993
·
2020-08-22 21:23
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他