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
------【大话设计模式】
大话设计模式
笔记(二十三)の享元模式
享元模式定义运用共享技术有效的支持大量细粒度的对象。UML图举个栗子实际开发当中,一个项目如果做得好,如果市场打通到其他地方,那么核心代码其实是可以通用的,只不过用着不同的数据和特性出来的模版而已,这些对用户来说是非透明的。使用最小的开销获得最大的收益,这是所有公司的目的。Talkischeap,showmethecode(屁话少说,放码过来)/***网站抽象类*CreatedbycallmeDe
callmeDevil
·
2019-12-15 15:00
桥接模式
《
大话设计模式
》阅读笔记和总结。原书是C#编写的,本人用Java实现了一遍,包括每种设计模式的UML图实现和示例代码实现。
fancy_boy_石嘉成
·
2019-12-15 14:27
大话设计模式
笔记(二十二)の中介者模式
中介者模式定义用一个中介对象来封装一系列的对象交互。中介使各对象之间不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。UML图举个栗子“联合国”就是世界上各个国家的一个“中介”,许多事情都不是国家之间直接交互,而是通过“安理会”等组织进行协商、投票等过程。Talkischeap,showmethecode(屁话少说,放码过来)/***联合国机构*Createdbycallm
callmeDevil
·
2019-12-15 12:00
大话设计模式
笔记(二十二)の中介者模式
中介者模式定义用一个中介对象来封装一系列的对象交互。中介使各对象之间不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。UML图举个栗子“联合国”就是世界上各个国家的一个“中介”,许多事情都不是国家之间直接交互,而是通过“安理会”等组织进行协商、投票等过程。Talkischeap,showmethecode(屁话少说,放码过来)/***联合国机构*Createdbycallm
callmeDevil
·
2019-12-15 12:00
大话设计模式
笔记(二十一)の职责链模式
职责链模式定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。UML图好处当客户提交一个请求时,请求是沿链传递直至有一个ConcreteHandler对象负责处理它接收者和发送者都没有对方的明确信息,且链中对象自己也并不知道链的结构。结果时职责链可简化对象的相互连接,它们仅需保持一个指向其后继者的引用,
callmeDevil
·
2019-12-14 17:00
大话设计模式
笔记(二十一)の职责链模式
职责链模式定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。UML图好处当客户提交一个请求时,请求是沿链传递直至有一个ConcreteHandler对象负责处理它接收者和发送者都没有对方的明确信息,且链中对象自己也并不知道链的结构。结果时职责链可简化对象的相互连接,它们仅需保持一个指向其后继者的引用,
callmeDevil
·
2019-12-14 17:00
大话设计模式
笔记(二十)の命令模式
举个栗子路边摊吃烧烤,老板只有一人,又要记住点单,又要忙着收费,客户做什么都要排队。。。反例思路1如果客户多了,请求多,就容易混乱,他叫五串羊肉串,你叫三个烤鸡翅,老板哪里忙得过来。代码中的体现就是一句一句输出,所以应该要有个服务员。。。门面改造Talkischeap,showmethecode(屁话少说,放码过来)/***抽象命令*CreatedbycallmeDevilon2019/12/14
callmeDevil
·
2019-12-14 17:00
大话设计模式
笔记(二十)の命令模式
举个栗子路边摊吃烧烤,老板只有一人,又要记住点单,又要忙着收费,客户做什么都要排队。。。反例思路1如果客户多了,请求多,就容易混乱,他叫五串羊肉串,你叫三个烤鸡翅,老板哪里忙得过来。代码中的体现就是一句一句输出,所以应该要有个服务员。。。门面改造Talkischeap,showmethecode(屁话少说,放码过来)/***抽象命令*CreatedbycallmeDevilon2019/12/14
callmeDevil
·
2019-12-14 17:00
大话设计模式
笔记(十九)の桥接模式
举个栗子在M和N两种品牌的手机里面各做通讯录和游戏两种软件。前提:M和N手机之间不通用。反例思路1以手机品牌为主体,各自实现软件。反例思路2以手机软件为主体,各自适配品牌。弊端说明对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问
callmeDevil
·
2019-12-14 16:00
大话设计模式
笔记(十九)の桥接模式
举个栗子在M和N两种品牌的手机里面各做通讯录和游戏两种软件。前提:M和N手机之间不通用。反例思路1以手机品牌为主体,各自实现软件。反例思路2以手机软件为主体,各自适配品牌。弊端说明对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问
callmeDevil
·
2019-12-14 16:00
大话设计模式
六大原则OpenClosePrinciple(开闭原则)LiskovSubstitutionPrinciple(里氏代换原则)DependenceInversionPrinciple(依赖倒转原则)InterfaceSegregationPrinciple(接口隔离原则)DemeterPrinciple(迪米特法则,又称最少知道原则)CompositeReusePrinciple(合成复用原则)设
啤酒找尿布
·
2019-12-14 04:50
大话设计模式
——装饰模式
需求写一个给人模拟搭配不同服饰的程序,可以给人换各种各样的衣服裤子的形象。初步实现需求比较简单,直接上代码:publicclassPerson{privateStringname;publicvoidsetName(Stringname){this.name=name;}publicvoidwearTShirt(){System.out.print("大T恤");}publicvoidwearBi
Mr丶sorrow
·
2019-12-13 07:09
大话设计模式
(带目录完整版).pdf
【下载地址】本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GOF(设计模式的经典名著——DesignPatterns:ElementsofReusableObject-OrientedSoftware,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者EIichGamma、RichardHelm、RalphJohnson,以及JohnVlissides,这四人常被称为Ga
solmumyte
·
2019-12-12 20:33
设计模式之啥是设计模式?
不会设计模式咋行捡重要的撸偶然间看见过一本老厚的设计模式书叫《
大话设计模式
》,里面的标题各种文艺玄乎,还有那厚度,直接让我放弃。囧我个人是PHPer,PHP里并不需要这
路漫漫在狂奔
·
2019-12-11 22:25
复习了下设计模式
这是老夫第五次刷
大话设计模式
这本书每次看完这本书都收获满满,并且也运用到工作中其中我的两个开源swiftArch和kotlinArch中很多的封装思路都源自于这本书我打算用python3把我所理解的设计模式表示出来写出例子其实我并不非常熟悉
码农弟弟
·
2019-12-10 18:43
读书笔记 |《
大话设计模式
》之设计模式趣谈
PART1、前言TOPIC:23种设计模式的趣谈收获初步理解各种设计模式通过设计模式理解封装变化、多态对象间松散耦合针对接口编程设计出易维护、扩展、服用、灵活性好的pro设计模式四境界1、不会用设计模式,代码很烂2、学了几个模式,胡乱套用而不自知3、感觉很多模式很相似,不知差异处4、灵活运用,无剑胜有剑PART2、创建型设计模式简单工厂模式解决实例化哪个对象的问题工厂类的方法一般用静态方法,理论上
rh_Jameson
·
2019-12-08 12:25
读《
大话设计模式
》之状态模式
一、模式概述:在很多情况下,一个对象的行为取决于它的一个或多个变化的属性,这些属性我们称之为状态,这个对象称之为状态对象。对于状态对象而言,它的行为依赖于它的状态。这样的一个对象,当它在于外部事件产生互动的时候,其内部状态就会发生改变,从而使得他的行为也随之发生改变。所谓状态模式就是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。没图说个文明你我他。UML图:状态模式结构图1
梦半觉
·
2019-12-01 21:12
ej3-0开端
设计模式先后看过《
大话设计模式
》,《HeadFirst设计模式》。
春天springcarter
·
2019-11-28 10:00
大话设计模式
第一章 简单工厂模式
优点工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;简单工厂模式通过这种做法实现了对责任的分割,它提供了专门的工厂类用于创建对象。客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。通过引入配置文件,可以在不修改任何客户端代码的情况下更
邓卫平
·
2019-11-12 02:43
java
设计模式
设计模式学习笔记
由杨柳依创建于2019年11月3日,最近更新于2019年11月8日参考资料:
大话设计模式
|图解设计模式|菜鸟教程—设计模式UML类图【矩形框】代表一个类(Class)。
杨柳依
·
2019-11-09 18:00
Java单例模式详解
这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法——
大话设计模式
--第21章单例Boy.jpg二.
在挖坑的猿
·
2019-11-06 21:14
设计模式反射之工厂模式
个人感觉《设计模式之禅》这本书中讲解的非常具体,每个模式都配以适当的例子,非常适合学习设计模式的初学者,当然,程杰的《
大话设计模式
》也是非常好的一本书,都可以拿过来当做一本工具书随时查看理解设计的奥妙。
wanggs
·
2019-11-03 23:44
Android常见设计模式二:面向对象的设计原则
对于想系统的学习设计模式的同学,这里推荐一本书,《
大话设计模式
》。Android常用设计模式系列:面向对象的基础特征面向对象的设计原则单例模式模板模式适配器模式工厂模式代理模式原
雨纷纷__
·
2019-11-02 20:06
大话设计模式
之简单工厂模式
一、一道简单的面试题1、题目:请用C++、Java、C#任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。但凡有一定基础的人,随手一打就能把这题目给解决了,如下:publicstaticvoidmain(String[]args){//模拟数据从控制台输入的是数字8,4,+doublenum1=8;doublenum2=4;Stringoperator="+";do
大炮对着虫子
·
2019-11-02 13:41
Swift 中的字符串截取
在尝试使用Swift实现《
大话设计模式
》一书
Q星
·
2019-11-02 00:20
状态模式 有限状态机
一、例子参考
大话设计模式
-状态模式abstractclassState{publicabstractfunctionwriteProgram($w);}//上午工作状态classForenoonStateextendsState
合肥懒皮
·
2019-11-01 22:05
大话设计模式
之_单例模式
大话设计模式
之___单例模式什么是单例模式单例模式有哪些(会顺带讲些懒汉式的性能优化)懒汉式与饿汉式的区别什么是单例模式首先说句题外话,单例模式在很多的开源框架和项目都随处可见,所以单例模式的重要不言而喻
Agelier
·
2019-11-01 02:29
大话设计模式
之_工厂模式
大话设计模式
之_工厂模式工程方法(即简单工厂模式simpleFactory,或静态工厂方法staticfactorymethod)抽象工厂什么是工厂呢?
Agelier
·
2019-11-01 01:37
里氏替换原则
本文借鉴《
大话设计模式
》,算是对自己学习的总结,也希望分享下所学知识~~里氏替换原则(LSP):子类型必须能够替换掉它们的父类型。
APP4x
·
2019-10-28 20:08
学习第一天
二、Web开发HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及MySQL(数据库)三、开发框架spring、springmvc、mybatismaven《Java编程思想》《
大话设计模式
waynedzy
·
2019-10-28 10:26
0.UML图入门——学习《
大话设计模式
》笔记
《
大话设计模式
》中讲述了UML类图的基本用法,做此笔记加深理解。注:上图来源于《
大话设计模式
》上图中设计的关键术语为:继承、实现、聚合、组合、关联、依赖。
Halo_run
·
2019-10-10 09:00
工厂模式
前面说了写的一个数据库管理软件写配置文件,包括增删改查,不同数据库都是不一样的,如果写到一个函数里,函数太长想改一个东西得找半天,使用工厂来解耦.参考了
大话设计模式
.privatevoidxmlsave
xinshenghu
·
2019-10-01 23:00
【自然框架】——页面基类与设计模式(二) 模板模式
引用《
大话设计模式
》里的定义:桥接模式(Bridge):将抽象部分和他的实现部分分离,使他们都可以独立的变化。(P2
·
2019-09-20 18:59
当OO遇到了持久化?!
2007-12-0817:28金色海洋(jyk)阳光男孩阅读(...)评论(...)编辑收藏最近在看设计模式方面的资料,看了一些帖子和两本书,一个是《Headfirst》,另一个是《
大话设计模式
》。
·
2019-09-20 18:12
大话设计模式
——UML类图
首先上总图:首先看“动物”的矩形框,它代表一个类(Class)。类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体显示。第二层是类的特性,通常是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示public,“-”表示private,“#”表示protected。然后看左下角“飞翔”,它表示一个接口图(这里和原书中有些出入,我用的是PowerDesigner),第一行
Annx
·
2019-09-20 11:34
大话设计模式
UML类图
关系
大话设计模式
23种设计模式全集(学习笔记)
序言这篇文章是作者看完《
大话设计模式
》(写的很好对于小白来说也很好理解)一书写的。引用了部分作者书中的内容,并加以自己的了解写的文章。
橙寂博客@luckyhe.com
·
2019-09-16 17:07
设计模式
java
设计模式
从《
大话设计模式
》看JDK及框架中常用的设计模式(四)
观察者模式1.介绍模式动机建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。模式定义观察者模式(ObserverPattern):定义对象间的一种一对多
_Shallow
·
2019-09-11 11:18
从《
大话设计模式
》看JDK及框架中常用的设计模式(三)
文章目录适配器模式1.介绍2.角色分配3.实例4.应用场景适配器模式1.介绍适配器模式(AdapterPattern):将一个类的接口转换成希望的另一个接口,让那些接口不兼容的类可以一起工作。如果需要复用已有的类,但是接口不兼容,不能或者不愿修改原有的类或者需要的类。可以使用适配器,用户在调用适配器的方法时在适配器的内部会调用适配者的方法。又称包装器模式。2.角色分配角色包括:目标抽象类(Targ
_Shallow
·
2019-09-11 11:54
从《
大话设计模式
》看JDK及框架中常用的设计模式(二)
文章目录一工厂模式1.1工厂模式的分类1.2工厂模式的定义1.3工厂模式优点二简单工厂模式2.1介绍2.2适用场景2.3简单工厂模式角色分配:2.4简单工厂实例:2.5使用反射机制改善简单工厂三简单工厂模式3.1介绍3.2适用场景3.3工厂方法模式角色分配:3.4工厂方法模式实例四抽象工厂模式4.1介绍4.2适用场景4.3抽象工厂方法模式角色分配4.4抽象工厂的工厂和工厂方法中的工厂有什么区别呢?
_Shallow
·
2019-09-11 10:34
从《
大话设计模式
》看JDK及框架中常用的设计模式(一)
最近阅读了《
大话设计模式
》,本人感觉书中讲的简单易懂,并对书中的Demo做了Java实现,下面我将从这本书中总结一下几种常用的设计模式,首先看最常用的单例模式:单例模式(Singleton)定义保证类仅有一个实例
_Shallow
·
2019-09-10 23:23
C++设计模式-访问者模式
UML图如下(此图来源于
大话设计模式
)访问者模式适用于数据结构相对稳定的系统。访问者模式的优点就是增加新的操作很容易,因为增加新的操作就意味着增加一个新的访问者。
IT1995
·
2019-08-17 16:08
C/C++
设计模式
大话设计模式
笔记(十八)の单例模式
单例模式定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以创建,并且它可以提供一个访问该实例的方法。UML图方式一:单线程下的单例/***CreatedbycallmeDevilon2019/8/17.*/publicclassSing
callmeDevil
·
2019-08-17 16:00
大话设计模式
笔记(十七)の迭代器模式
迭代器模式定义提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。什么时候用?当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式。你需要对聚集有多种方式遍历时,可以考虑用迭代器模式。UML图模板代码Aggregate/***聚集抽象类*CreatedbycallmeDevilon2019/8/17.*/publicabstractclas
callmeDevil
·
2019-08-17 14:00
大话设计模式
笔记(十六)の组合模式
组合模式定义将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。UML图模板代码Component/***组合对象*CreatedbycallmeDevilon2019/8/11.*/publicabstractclassComponent{protectedStringname;publicComponent(Stringname){this
callmeDevil
·
2019-08-11 17:00
大话设计模式
笔记(十五)の备忘录模式
举个栗子问题描述打游戏存进度。简单实现GameRole/***游戏角色*CreatedbycallmeDevilon2019/8/11.*/publicclassGameRole{//生命力privateintvit;//攻击力privateintatk;//防御力privateintdef;//状态显示publicvoidstateDisplay(){System.out.println("角色
callmeDevil
·
2019-08-11 15:00
大话设计模式
笔记(十四)の适配器模式
举个栗子问题描述不同国家的人在NBA打球,但都是用英文交流。简单实现Player/***球员*CreatedbycallmeDevilon2019/8/4.*/publicabstractclassPlayer{protectedStringname;publicPlayer(Stringname){this.name=name;}//发起进攻publicabstractvoidattack();
callmeDevil
·
2019-08-04 16:00
大话设计模式
笔记(十三)の状态模式
举个栗子问题描述上班的日子,上午状态好,中午想睡觉,下午渐恢复,加班苦煎熬。根据时间的不同体现不同的工作状态。简单实现Work/***工作类*CreatedbycallmeDevilon2019/8/3.*/publicclassWork{privateinthour;privatebooleanfinish=false;publicvoidwriteProgram(){if(hour<12){S
callmeDevil
·
2019-08-03 15:00
大话设计模式
-读书笔记
面向对象:需求变换是必然的,那么尽管无法预测会发生什么,但通常可以预测哪里会发生变化,面向对象的优点之一是可以封装这些变化的区域,从而更容易的将代码与变化产生的影响隔离开。代码可以逐步演进,新代码可以影响较少的加入。经典的设计模式是可以复用的面向对象设计方法。------------------书的配套code分析,回头补上1.策略模式简单工厂模式的工厂类包含了必要的逻辑判断,根据客户端的选择动态
demianzhang
·
2019-07-30 23:00
大话设计模式
笔记(十二)の抽象工厂模式
举个栗子问题描述模拟访问数据库“新增用户”和“得到用户”,用户类假设只有ID和Name两个字段。简单实现User/***用户类*CreatedbycallmeDevilon2019/7/28.*/publicclassUser{privateintid;privateStringname;//省略getset方法}SqlServerUser/***假设sqlServer连接,用于操作User表*C
callmeDevil
·
2019-07-28 17:00
UML之泛化关系
在学习UML的时候,我想起来了《
大话设计模式
》这里边的一张类图,把我给整懵了,脑袋里出现了好几个问号:1.到底什么是泛化(继承)关系?2.如何用图精确表现泛化关系呢?
陈建雄-Francis
·
2019-07-27 20:26
用心之作
UML
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他