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
------【大话设计模式】
大话设计模式
四:开放封闭原则(考研求职两不误)
开放-封闭原则:对扩展开放,对修改封闭。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码 开发人员应该仅对程序中频繁变化的那些部分作出抽象,然而,对于程序中的每个部分都刻意地进行抽象也不是个好办法。
zdp072
·
2013-09-04 21:00
设计模式
OCP
开放封闭
大话设计模式
三:单一职责原则(拍摄UFO)
单一职责原则:一个类应该仅有一个引起它变化的原因。软件设计需要做到职责相互分离。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱这个类完成其他职责的能力,牵一发而动全身。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 单一职责的代码更容易维护和拓展。
zdp072
·
2013-09-03 22:00
设计模式
设计
单一职责
大话设计模式
二:策略模式(商场促销)
策略模式:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用的算法客户。 应用案例:商场促销的多样性(折扣,满减,积分)packageStrategy; abstractclassCashSuper{ publicabstractdoubleacceptCash(doublemoney); } classCashNormalextendsCas
zdp072
·
2013-09-03 22:00
设计模式
策略模式
大话设计模式
一:简单工厂模式(simple factory)
一.定义:简单工厂提供一个创建对象实例的功能,而无须关心其具体实现。简单工厂方法的内部主要实现的功能是:选择合适的实现类来创建实例对象。二.结构图:Api:定义客户端所需要的功能接口Impl:具体实现Api的实现类,可能会有多个Factory:工厂,选择合适的实现类来创建Api接口对象Client:客户端,通过Factory去获取Api接口对象,面向Api接口编程三.序列图:四.接口回顾:1.接口
zdp072
·
2013-09-03 21:00
设计模式
工厂模式
单例模式
下了个
大话设计模式
电子书,大概过了一遍,准备把现在工作接触到的先研究做个记录。 先从软柿子捏了,单例模式是听得最多的也是我认为最简单的,不过学习了之后还是
pfe_Nova
·
2013-08-27 11:00
设计模式
单例模式
C#私房菜[二][提供编程效率的技巧]
我写不出来《
大话设计模式
》那种为了读者的书,因为没有时间写,这真的是实话。写篇文章真的其实很花时间的,最近一直看别人的东西,所以没怎么写了。 有的人文章写情感,而有的写技术。这篇文
·
2013-08-19 15:00
C#
阅读IT类图书,能够收获什么
作为IT行业的工作者,业余时间其实很有限,因此为了达到良好的阅读效果,最大限度的吸收书里的内容,最好读大师之作,或者是明白易懂像《
大话设计模式
》那样的好书。
anonymoususer
·
2013-08-19 15:00
大话设计模式
之访问者模式
访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。packageVisitor; importjava.util.ArrayList; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Object
li385805776
·
2013-08-14 15:00
大话设计模式
之解释器模式
解释器模式,给定一个语言,定义它的问法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。packageInterpreter; importjava.util.ArrayList; publicclassMain
li385805776
·
2013-08-14 10:00
大话设计模式
之享元模式
享元模式,运用共享技术有效地支持大量细粒度的对象。packageFlyweight; importjava.util.HashMap; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub intextrinsicstate=22; FlyweightFactoryf=
li385805776
·
2013-08-14 09:00
大话设计模式
之中介者模式
中介者模式,用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。packageMediator; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub ConcreteMediatormediat
li385805776
·
2013-08-13 22:00
大话设计模式
之职责链模式
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。packageChainOfResponsibility; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub H
li385805776
·
2013-08-13 21:00
大话设计模式
之命令模式
命令模式,讲一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。packageCommand; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Receiverreceiver=newReceiver();
li385805776
·
2013-08-13 19:00
大话设计模式
之桥接模式
合成/聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承。聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成则是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。大雁和翅膀是合成,大雁和雁群是聚合。优先使用对象的合成/聚合将有助于保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然
li385805776
·
2013-08-13 16:00
大话设计模式
之单例模式
单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。packageSingleton; publicclassMainClass{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Singletons1=Singleton.GetInstance(); Singletons2=Singleton.
li385805776
·
2013-08-13 14:00
大话设计模式
之迭代器模式
迭代器模式,童工一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示Java中的foreach就是
li385805776
·
2013-08-13 14:00
大话设计模式
之组合模式
组合模式,将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。Component为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子部件Leaf在组合中表示叶节点对象,夜间点没有子节点Composite定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关的操
li385805776
·
2013-08-13 10:00
大话设计模式
之备忘录模式
备忘录,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象回复到原先保存的状态Originator:负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。Memento:负责存储Originator对象的内部状态,并可防止Ori
li385805776
·
2013-08-13 08:00
大话设计模式
之适配器模式
适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单地说,就是需要的东西就在面前,但却不能使用,而短时间又无法改造它,于是我们就想办法适配它。系统的数据和行为都正确,但接口不符时,我们应该考虑适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求
li385805776
·
2013-08-12 21:00
大话设计模式
之状态模式
状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变了其类。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化状态模式的好处:将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。将特定的状态相关的行为都放入一个对象中,由于所有与状态相关的代码都存在于某个ConcreteState中,
li385805776
·
2013-08-12 11:00
大话设计模式
之抽象工厂模式
抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类AbstractProductA和AbstractProductB是两个抽象产品,ProductA1、ProductA2和ProductB1、ProductB2就是对两个抽象产品的具体分类的实现,IFactory是一个抽象工厂接口,里面应该包含所有的产品创建的抽象方法,ConcreteFactory1和Concrete
li385805776
·
2013-08-12 10:00
大话设计模式
之观察者模式
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监视某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。Subject类为抽象通知者,一般用一个抽象类或者一个接口实现,它把所有对观察者对象的引用保存在一个聚集里,每个通知者都可以有任何数量的观察者。抽象通知者,可以增加和删除观察者对象。Observer类,抽象观察者,为所有的具体观察者定义一个接口,
li385805776
·
2013-08-11 16:00
大话设计模式
之建造者模式
如果需要将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,我们需要应用建造者模式,又叫生成器模式。建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们用了建造者模式,那么用户就只需指定需要建造的类型就可以得到他们,而具体建造的过程和细节就不需要知道了。建造者模式,将一个复杂对象的构建与它的表示分
li385805776
·
2013-08-11 15:00
委托
学习
大话设计模式
中委托的时候,就记住猫叫老鼠跑了,是要说明什么,好多东西都没有领悟到。 这几天对委托再次学习,重新认识了一下,分享出来。1,委托是什么? 简单理解,委托是将方法作为其他方法的参数。
lishuangzhe7047
·
2013-08-10 16:00
说说“类”
在敲机房之前的
大话设计模式
学习中,认识最多,见得最多的就是类了。那时候就是看着一个一个的类在自己面前飘过,没有想为什么作者这么分类,没有想这么分类的好处。
sunliduan
·
2013-08-07 21:00
思维方式之设计模式
今天和前天进行的是设计模式,前天主要是对
大话设计模式
中涉及到的六大原则进行分析,这里要说的重点并不是这六大原则是什么,而是在讲解着六大原则
jly4758
·
2013-08-04 21:00
1、简单工厂模式
上班实习各种没事干,《
大话设计模式
》这本书还是挺好的,之前一直没认真看,这次趁上班没事做好好看看,做笔记~ 面向对象 = 活字印刷: 1、可维护 = 修改文字只要改相应的文字
Assistne
·
2013-08-02 15:00
简单工厂模式
大话设计模式
之外观模式
外观模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。即Client只和Facade打交道,而Facade方法中封装了。外观模式的三个阶段:首先,在设计初期阶段,应该要有意识的将不同的两个层分离,层与层之间建立外观Facade。其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。增加外观Facade可以提供一个简单的接口,减少它
li385805776
·
2013-07-28 21:00
.Net之路(六)概述为vs2010自定义添加版权信息
还记得在
大话设计模式
中大鸟说过:“复制粘贴是最容易的编程,也是最没有价值的编程”。下面就与大家分享一下如何自定义添加版权信息等。
chenfanglincfl
·
2013-07-28 21:00
vs添加版权信息
大话设计模式
之迪米特法则
迪米特法则也叫最少知识原则,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限。也就是说,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。根本思想是强调类之间的松耦合。
li385805776
·
2013-07-28 21:00
大话设计模式
之模版方法模式
模版方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的默写特定步骤。AbstrClass定义并实现了一个模版方法。这个模版方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。ConcreteClass实现父类所定义的一个或多个抽象方法。每一个AbstractClass都可以有
li385805776
·
2013-07-28 20:00
大话设计模式
之原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可以定制的对象,而且不需要知道任何创建的细节。一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高。不用重新初始化对象,而是动态地获得对象运行时的状态。packagePrototype; publicclassMainClass{
li385805776
·
2013-07-28 20:00
大话设计模式
之开放-封闭原则
开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。两个特征,一个是说对于扩展是开放的,另一个是说对于更改是封闭的。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。
li385805776
·
2013-07-27 21:00
大话设计模式
之工厂方法模式
简单工厂模式与工厂方法模式的区别:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,取出了与具体产品的依赖。计算器案例中,只需把+给工厂,工厂就给出了相应的实例,客户端只要去做运算就可以了,添加一个新运算,就需要修改修改原有的类,违反了开放封闭原则。工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实
li385805776
·
2013-07-27 20:00
大话设计模式
之代理模式
案例:A喜欢C,C不认识A,AB相互认识,BC相互认识, A->B->C,即A让B帮忙送东西给C来追C代理模式:为其他对象提供一种代理以控制对这个对象的访问。Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。RealSubject类,定义Proxy所代表的真实实体。Proxy类,保存一个引用的代理可以访问实体,并
li385805776
·
2013-07-26 22:00
大话设计模式
之装饰模式
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。packageDecorator; publicclassDecoratorPattern{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub ConcreteComponentc=ne
li385805776
·
2013-07-26 21:00
大话设计模式
之策略模式
应用案例:商场促销的多样性(折扣,满减)packageStrategy; //简单工厂模式实现 publicclassCashFactory{ publicstaticCashSupercreateCashAccept(Stringtype){ CashSupercs=null; switch(type){ case"正常收费": cs=newCashNormal(); break; case"满
li385805776
·
2013-07-26 15:00
大话设计模式
之UML
UML1.抽象类,用斜体2.类中public属性或方法用+,private用-,protected用#3.继承关系用空心三角+实线,子类指向父类4.实现接口用空心三角+虚线,实现指向接口5.关联关系(持有对象)用实线箭头表示(A持有B,A->B)。6.聚合关系(持有对象)表示一种弱拥有关系,体现的是A对象包含B对象,但B对象不是A对象的一部分(雁群和雁)。用空心菱形+实箭头7.合成关系是一种强的拥
li385805776
·
2013-07-26 10:00
大话设计模式
之简单工厂模式
packagesimple_factory; publicabstractclassOperation{ privatedoublenumberA=0; privatedoublenumberB=0; publicdoublegetNumberA(){ returnnumberA; } publicdoublegetNumberB(){ returnnumberB; } publicvoidse
li385805776
·
2013-07-26 09:00
OO 演化到设计模式
OO演化到设计模式图片来源于
大话设计模式
(上图参考了伍迷的
大话设计模式
)OO的五大原则(SRP、OCP、LSP、DIP、ISP)1.单一职责(SingleResponsibilityPrincipleSRP
圣殿骑士
·
2013-07-24 11:00
设计模式
OO 演化到设计模式
OO演化到设计模式图片来源于
大话设计模式
(上图参考了伍迷的
大话设计模式
)OO的五大原则(SRP、OCP、LSP、DIP、ISP)1.单一职责(SingleResponsibilityPrincipleSRP
aspnetwinform
·
2013-07-24 11:00
设计模式
01_责任链模式
这是引用《
大话设计模式
》中的定义:责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者的耦合关系,将这个对象连接成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止适用场景:一般比较适合应用在流程类的业务中
PV_love
·
2013-07-17 00:00
java
设计模式
action outlet 委托delegate
第一次接触到委托是在学习《
大话设计模式
》的时候碰到的,我是一名Javaer,那本书是.Net的,里面提到了委托这个概念,并且有相应的用法与支持,当时觉得挺奇怪,怎么Java中没有遇到过呢?
zhaoweixing1989
·
2013-07-16 19:00
Book-No.03
大话设计模式
1、面向对象的设计思想:可维护:要改,只需要更改要更改的地方,不需要更改的地方不动,提取可能会发生改变的代码可复用:一次编写,多次重复使用,公共部分提出,避免代码冗余可扩展:可以添加新的需求,而不影响以前的功能,亦不需要对以前代码做改动(或者改动最少),实现高内聚,低耦合灵活性好:可能满足多种需求2、简单工厂设计模式packagecom.shma.simpleFactoryPattern;
shma1664
·
2013-07-16 17:00
设计模式
java设计模式之简历复印----原型模式
推荐两个微信公众账号:并发编程网、快乐编程本文转载于:
大话设计模式
第九章之原型模式9.1夸张的简历“小菜,在忙什么呢?”大鸟回家来看到小菜在整理一堆材料。”
Damon_Zhang
·
2013-07-05 10:00
java
设计模式
java设计模式之代理
本文转自
大话设计模式
第七章之代理模式!
java愣青
·
2013-07-05 09:00
java设计模式
java设计模式之为别人做嫁衣----代理模式
本文转自
大话设计模式
第七章之代理模式!
Damon_Zhang
·
2013-07-04 09:00
java
设计模式
C++设计模式-Bridge桥接模式
《
大话设计模式
》中就Bridge模式的解
·
2013-07-01 21:00
设计模式
Bridge桥接模式
设计模式C++实现(8)——代理模式
主要参考《
大话设计模式
》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍代理模式的实现。 [DP
happyrabbit456
·
2013-06-28 15:00
设计模式C++实现(9)——享元模式
主要参考《
大话设计模式
》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍享元模式的实现。 举个围
happyrabbit456
·
2013-06-28 15:00
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他