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
------【大话设计模式】
我读过的100+本经典书籍(持续更新,上次更新2013年11月15日)
一、技术 《改善Java程序的151个建议》 《
大话设计模式
》 《
FansUnion
·
2013-10-26 07:00
java
程序员
项目管理
书单
经典书籍
面向对象的5条基本设计原则
这几天重新看了一遍《
大话设计模式
》,发现果然有不同的感悟,而且自己也上网找了《敏捷软件开发—原则、模式与实践》一书来看,那本书的序言中有一段话我觉得很有道理:“美的东西比丑的东西创建起来更廉价,也更快捷
汤柳清
·
2013-10-25 15:00
面向对象
1.1 《硬啃设计模式》 第1章
大话设计模式
设计模式不是一般的难!第一难:需要你有真正的OO水平,有大量的编码及设计基础。第二难:难以在工作中真正实践全部23中设计模式,无实践就无法真正理解。很少系统需要用到设计模式,或者只能用到很少的一部分。我们这些软件开发人员,大部分都是在做数据库的CRUD的工作,设计模式难有用武之地。第三难:学习资料要么太深奥难懂,要么就是太肤浅了。第四难:你以为你懂了,其实你没懂!设计模式学习过程是迂回前进的。第五
u010825142
·
2013-10-18 15:00
设计模式
1.1 《硬啃设计模式》 第1章
大话设计模式
设计模式不是一般的难!第一难:需要你有真正的OO水平,有大量的编码及设计基础。第二难:难以在工作中真正实践全部23中设计模式,无实践就无法真正理解。很少系统需要用到设计模式,或者只能用到很少的一部分。我们这些软件开发人员,大部分都是在做数据库的CRUD的工作,设计模式难有用武之地。第三难:学习资料要么太深奥难懂,要么就是太肤浅了。第四难:你以为你懂了,其实你没懂!设计模式学习过程是迂回前进的。第五
fireball1975
·
2013-10-18 15:00
1.1 《硬啃设计模式》 第1章
大话设计模式
设计模式不是一般的难!第一难:需要你有真正的OO水平,有大量的编码及设计基础。第二难:难以在工作中真正实践全部23中设计模式,无实践就无法真正理解。很少系统需要用到设计模式,或者只能用到很少的一部分。我们这些软件开发人员,大部分都是在做数据库的CRUD的工作,设计模式难有用武之地。第三难:学习资料要么太深奥难懂,要么就是太肤浅了。第四难:你以为你懂了,其实你没懂!设计模式学习过程是迂回前进的。第五
fireball1975
·
2013-10-18 15:00
设计模式
1.1 《硬啃设计模式》 第1章
大话设计模式
设计模式不是一般的难!第一难:需要你有真正的OO水平,有大量的编码及设计基础。第二难:难以在工作中真正实践全部23中设计模式,无实践就无法真正理解。很少系统需要用到设计模式,或者只能用到很少的一部分。我们这些软件开发人员,大部分都是在做数据库的CRUD的工作,设计模式难有用武之地。第三难:学习资料要么太深奥难懂,要么就是太肤浅了。第四难:你以为你懂了,其实你没懂!设计模式学习过程是迂回前进的。第五
weixin_34245082
·
2013-10-18 15:00
设计模式
数据库
c#
使用设计模式设计的计算器
最近读《
大话设计模式
》有感,正好以前写过一个计算器,当时感觉写的很费力,而且要添加和修改某些功能总是要修改全部代码,十分吃力。
图受各种
·
2013-10-15 23:00
设计模式
大话设计模式
系列
1.设计模式之前奏(UML类图) 2.设计模式之一(单例模式) 3.设计模式之二(简单工厂模式) 4.设计模式之三(工厂方法模式) 5.设计模式之四(抽象工厂模式第一回合) 6.设计模式之四(抽象工厂模式 第二回合) 7.设计模式之四(抽象工厂模式 第三回合) 8.设计模式原则(单一、开放封 闭、里氏代换、依赖倒转、迪米特法则五大原则) 9.设计模式之五(策略模式) 10.设
·
2013-10-10 21:00
设计模式
大话设计模式
学习笔记-装饰模式(c++描述)
(
大话设计模式
P48)装饰模式UML类图:1、其中Component类定义了一个对象接口,可以给这些对象动态添加职责2、ConcreteComponent类定义了具体的对象,这些对象是被添加职责3、Decorator
xuyjun
·
2013-10-02 18:15
C++
设计模式
学习笔记
学习笔记
大话设计模式
学习笔记-装饰模式(c++描述)
(
大话设计模式
P48)装饰模式UML类图:1、其中Component类定义了一个对象接口,可以给这些对象动态添加职责2、ConcreteComponent类定义了具体的对象,这些对象是被添加职责3、Decorator
xuyjun
·
2013-10-02 18:15
设计模式
C++
学习笔记
装饰模式
开放-封闭原则
[OOP]面向对象的一些基础知识
主要摘自《
大话设计模式
》的附录部分1.封装有很多好处,第一,良好的封装能够减少耦合,第二,类内部的实现可以自由的修改,第三,类具有清晰的对外接口2.如果子类继承于父类,第一,子类拥有父类非private
chunyang2178
·
2013-10-02 09:00
面向对象
大话设计模式
学习笔记-策略模式(c++描述)
(
大话设计模式
P23)我们先来看看策略模式的UML类图是怎样的。
xuyjun
·
2013-09-30 16:43
设计模式
面向对象
策略模式
大话设计模式
学习笔记-策略模式(c++描述)
(
大话设计模式
P23)我们先来看看策略模式的UML类图是怎样的。
xuyjun
·
2013-09-30 16:43
设计模式
面向对象
策略模式
学习笔记
大话设计模式
学习笔记-简单工厂模式(c++描述)
今天学了
大话设计模式
,书中第一章讲述了简单工厂模式,用的是C#来描述,于是我在学习之余将书中描述的内容以C++的形式重写一遍,以作加深自己的学习印象。
xuyjun
·
2013-09-29 16:46
面向对象
学习笔记
简单工厂模式
大话设计模式
学习笔记-简单工厂模式(c++描述)
今天学了
大话设计模式
,书中第一章讲述了简单工厂模式,用的是C#来描述,于是我在学习之余将书中描述的内容以C++的形式重写一遍,以作加深自己的学习印象。
xuyjun
·
2013-09-29 16:46
简单工厂模式
面向对象
学习笔记
学习笔记
大话设计模式
二十八:访问者模式(男人和女人)
访问者模式: 表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 //人的抽象类 publicabstractclassPerson{ //接受一个'访问者'为参数 publicabstractvoidaccept(Actionvisitor); } //男人 publicclassManextendsPerson{ @Overr
zdp072
·
2013-09-28 12:00
设计模式
访问者模式
访问者
大话设计模式
二十七:解释器模式(其实你不懂老板的心)
解释器模式: 给定一中语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。//表达式类 publicabstractclassExpression{ publicvoidinterpret(PlayContextcontext){ if(context.getContext().length()==0){ return; }else{ Stringpla
zdp072
·
2013-09-28 12:00
设计模式
解释器
解释器模式
大话设计模式
二十六:享元模式(项目多也别傻做)
享元模式: 运用共享技术有效地支持大量细粒度的对象。//网站抽象类 publicabstractclassWebSite{ publicabstractvoiduse(Useru); } //具体网站类 publicclassConcreteWebSiteextendsWebSite{ privateStringname; publicConcreteWebSite(Stringnam
zdp072
·
2013-09-28 11:00
设计模式
享元模式
享元
大话设计模式
二十五:中介者模式(mediator)
一.定义:用一个中介对象来封装一系列对象交互。中介者使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立的改变它们之间的交互。假设电脑没有主板,那么各个配件之间就必须自行相互交互,以互相传送数据,理论上基本上每个配件相互之间都存在交互数据的可能。现在有了主板,各个配件的交互完全通过主板来完成,每个配件都只需要和主板交互,而主板知道如何和所有的配件打交道,那就简单多了。二.结构和说明:Me
zdp072
·
2013-09-28 11:00
设计模式
中介
中介者
大话设计模式
二十四:职责链模式(加薪非要老总批?)
职责连模式: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将多个对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。//管理者 publicabstractclassManager{ //当前管理者的上级 privateManagersuperior; publicManagergetSuperior(){ returnsuperior; } p
zdp072
·
2013-09-28 09:00
设计模式
职责链
责任链
大话设计模式
二十三:命令模式(烤羊肉串引来的思考)
命令模式: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持撤销操作。//抽象命令类 publicabstractclassCommand{ privateBarbecuerbarbecuer; publicCommand(Barbecuerbar){ this.barbecuer=bar; } publicabstractvoide
zdp072
·
2013-09-27 23:00
设计模式
命令
命令模式
大话设计模式
二十二:桥接模式(手机软件何时统一)
桥接模式: 当发现我们需要多角度去分类实现对象,而只用继承会造成大量的类增加,不能满足开放-封闭原则,就应该考虑用桥接模式了。//手机接口 publicabstractclassMobile{ privateMobileSoftsoft; privateStringbrand; publicMobile(Stringbrand){ this.brand=brand; } publicM
zdp072
·
2013-09-27 22:00
设计模式
聚合
桥接模式
合成
大话设计模式
二十一:单例模式(Singleton)
一.单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。二.结构和说明:Singleton负责创建Singleton类自己的唯一实例,并提供一个getInstance方法,让外部来访问这个类的唯一实例。三.调用示例图:实现代码:http://blog.csdn.net/zdp072/article/details/44425993四.控制实例个数:简单演示如何扩展单例模式,控制实例
zdp072
·
2013-09-26 22:00
单例
设计模式
单例模式
懒汉
饿汉
大话设计模式
二十:迭代器模式(想走?可以,先买票)
迭代器模式:类似java中的Iterator类,提供一种方法顺序访问一个聚合对象中各个元素。//书籍类 publicclassBook{ privateStringname=""; publicBook(Stringname){ this.name=name; } publicStringgetName(){ returnname; } } //迭代器抽象类,执行元素递增,具有类似循环变量
zdp072
·
2013-09-26 21:00
设计模式
迭代器
迭代器模式
大话设计模式
十九:组合模式(分公司 = 一部门)
组合模式使用户对单个对象和组合对象的使用具有一致性。应用场景:需求中体香部分和整体层次的结构或希望用户忽略组合对象与单个对象的不同,可以统一地使用组合结构中的所有对象。优点:基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,可以不断地递归下去。//抽象公司类 publicabstractclassCompany{ privateStringname; publicCompany
zdp072
·
2013-09-25 23:00
设计模式
模式
组合
组合模式
大话设计模式
十八:备忘录模式(如果再回到从前)
备忘录模式就是把保存的细节封装在Memento中。应用场景:Memento模式比较适用于需要维护或记录属性历史的类。主要缺点:角色状态需要完整的存储到备忘录对象中,如果状态数据很大很多,将会非常的消耗资源。publicclassGameRole{ privateStringname; privateintvitality;//生命力 privateintattrack;//攻击力 private
zdp072
·
2013-09-25 23:00
设计模式
备忘录模式
《
大话设计模式
》读书总结
而是从网上买了一本程杰写的《
大话设计模式
》。网上的评价都比较好,当然这本书也有它自身定位带来的局限性。
FansUnion
·
2013-09-25 15:00
设计模式
面向对象
程序人生
软件工程
面向对象编程
小瞥linux下UML工具
1.Dia可以通过sudoapt-getinstalldia获取,这个程序基本上还行,下面是利用它完成的类图:这幅图是《headfirstjava》里面讲解时提到的类关系图:下面这幅图是《
大话设计模式
》
ziyuanxiazai123
·
2013-09-24 21:00
大话设计模式
十七:适配器模式(adaptor)
一.适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。二.结构和说明:Client:客户端,调用自己需要的领域接口TargetTarget:定义客户端需要的跟特定领域相关的接口Adaptee:已经存在的接口,但与客户端要求的特定领域接口不一致,需要被适配Adapter:适配器,把Adaptee适配成为Client需要的T
zdp072
·
2013-09-21 22:00
设计模式
模式
适配器
大话设计模式
十六:状态模式(无尽加班何时休)
状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。//State类,抽象状态类,定义一个接口以封装与Context的一个特定状态相关的行为 publicinterfaceState { publicvoidhandle(Contextcontext); } //ConcreteState类,具体状态,
zdp072
·
2013-09-21 21:00
设计模式
状态模式
大话设计模式
十五:抽象工厂模式(abstract factory)
一.定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。其实它和工厂方法很像,工厂方法是一个,而抽象工厂是一系列。二.结构和说明:AbstractFactory:抽象工厂,定义创建一系列产品对象的操作接口。ConcreteFactory:具体的工厂,实现抽象工厂定义的方法,具体实现一系列产品对象的创建。AbstractProduct:定义一类产品对象的接口。ConcreteP
zdp072
·
2013-09-21 19:00
设计模式
抽象工厂
开放封闭
大话设计模式
十四:观察者模式(老板回来,我不知道)
观察者模式又叫发布-订阅(Publish/Subscribe)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。//Subject类,可翻译为主题或抽象通知者,一般用一个抽象类或一个接口实现。它把所有对观察者对象的引用保存在一个聚集里面,每个主题都可以有任何数量的观察者。抽象主题提供一个接口
zdp072
·
2013-09-21 17:00
设计模式
观察者模式
重温设计模式一:类关系
下图摘录自《
大话设计模式
》。类主要包含六种关系:继承、实现、依赖、组合、聚合、关联。这六种关系在java代码具体的表现如下。
c123728529
·
2013-09-17 16:00
设计模式
uml类图
java基础
uml
design
pattern
重温设计模式一:类关系
下图摘录自《
大话设计模式
》。类主要包含六种关系:继承、实现、依赖、组合、聚合、关联。这六种关系在java代码具体的表现如下。
c123728529
·
2013-09-17 16:00
设计模式
java基础
Pattern
UML
design
UML类图
重温设计模式一:类关系
下图摘录自《
大话设计模式
》。类主要包含六种关系:继承、实现、依赖、组合、聚合、关联。这六种关系在java代码具体的表现如下。
c123728529
·
2013-09-17 16:00
设计模式
uml类图
java基础
uml
design
pattern
状态模式、职责链模式、组合模式--三个例子(
大话设计模式
考)
输出的结果:状态模式:当前时间:9点,上午工作,精神百倍当前时间:10点,上午工作,精神百倍当前时间:12点饿了,午饭,犯困,午休当前时间:13点下午状态还不错,继续努力当前时间:14点下午状态还不错,继续努力当前时间17点,加班哦,疲惫之极当前时间19点,加班哦,疲惫之极当前时间:22点不行了,睡着了。当前时间:22,点下班回家了。职责链模式:总经理:请详细说明情况!总经理:病假数量10被总经理
马知常
·
2013-09-12 09:00
七、原型模式(深浅克隆)
——摘自《
大话设计模式
》提到原型模式,就不得不提深浅克隆。两者都是完成对原型的复制,而区别在于对其引用对象的复制情况:浅复制:仅仅复制原型,而对其他对象的引用仍指向原有对象,即不
-阿克蒙德-
·
2013-09-11 13:49
《大话设计模式》浅记
看
大话设计模式
,研究状态模式-- 搞明白抽象类与接口的区别
抽象类,是面向继承关系的。 子类可直接使用父类方法。接口是面向方法行为规范统一的。接口的每个子类需要做方法的实现。而且是每个抽象方法的实现。单继承,多接口。.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合来使用,从而互补长短。
马知常
·
2013-09-11 10:00
大话设计模式
十三:生成器模式(builder)
一.定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。二.结构和说明:builder:生成器接口,定义创建一个Product对象所需的各个部件的操作/** *构建器接口,定义创建一个产品对象所需的各个部件的操作 */ publicinterfaceBuilder{ /** *示意方法,构建某个部件 */ publicvoidbuildPart(); }ConcreteB
zdp072
·
2013-09-10 22:00
设计模式
builder
建造者
构建者
大话设计模式
十二:外观模式(facade)
一.定义:facade模式定义子系统的多个模块对外的高层接口,通常需要调用内部多个模块。这个接口使得客户端调用非常方便。二.结构:三.序列图:四.体会外观模式:生活中的示例--组装电脑1.完全自己组装,什么都得自己搞定2.找专业装机公司,不需要自己折腾五.模拟实例:假设客户端现在需要和系统的多个模块进行交互:1.A模块的接口:publicinterfaceAModuleApi{ publicvoi
zdp072
·
2013-09-10 22:00
设计模式
外观模式
门面模式
大话设计模式
十一:迪米特法则(无熟人难办事)
迪米特法则(LoD)(也叫最少知识原则),如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限,即一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。 迪米特法则的根本思想,是强调了类之间的松耦合。在
zdp072
·
2013-09-09 23:00
设计模式
迪米特法则
大话设计模式
十:模板方法模式(考题抄错会做也白搭)
模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模版方法模式是通过把不变行为搬移到超类,取出子类中的重复代码来体现它的优势。//AbstractClass是抽象类,其实也就是一抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑骨架,而逻辑的组成步骤在相应的抽象操作中,推
zdp072
·
2013-09-09 22:00
设计模式
模板方法
大话设计模式
九:原型模式(Prototype)
一.定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象二.结构和说明Prototype:声明一个克隆自身的接口,用来约束想要克隆自己的类,要求它们都要实现这里定义的克隆方法。publicinterfacePrototype{ /** *克隆自身的方法 *@return一个从自身克隆出来的对象 */ publicPrototypeclone(); }ConcretePrototype:
zdp072
·
2013-09-09 22:00
设计模式
原型模式
大话设计模式
八:工厂方法模式(factory method)
一.模式定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,factorymethod使一个类的实例化延迟到其子类。二.结构和说明:Product:定义工厂方法所创建的对象的接口,也就是实际需要使用的对象的接口ConcreteProduct:具体的Product接口的实现对象Creator:创建器,声明工厂方法ConcreteCreator:具体的创建器对象,覆盖实现Creator定义的工
zdp072
·
2013-09-09 22:00
设计模式
工厂方法
大话设计模式
七:代理模式(proxy)
一.定义为其他对象提供一种代理以控制对这个对象的访问。二.结构和说明Subject:目标接口,定义代理和具体目标对象的接口publicinterfaceSubject{ //示意方法:一个抽象的请求方法 publicvoidrequest(); }RealSubject:具体的目标对象,真正实现目标接口要求的功能publicclassRealSubjectimplementsSubject{ pu
zdp072
·
2013-09-09 22:00
设计模式
代理模式
大话设计模式
六:装饰模式(穿什么有那么重要吗)
装饰模式 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 装饰模式是为已有功能动态地添加更多功能的一种方式。 装饰模式把每个要装饰的功能放在单独的类中,并让这个类包含它所要装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择地,按顺序地使用装饰功能包装对象了。 装饰模式的优点是:1.把类中的装饰功能从类中搬移去除,这样可以简化原有的类。
zdp072
·
2013-09-09 22:00
设计模式
装饰模式
简单工厂模式、工厂方法模式、反射工厂模式、抽象工厂模式
直到前些时候才去了解工厂模式,其实工厂模式还是很常用的,参考
大话设计模式
和网上的若干博客,初步整理出四种版本的,简单工厂模式、工厂模式、改进的反射工厂模式、抽象工厂模式。
pfe_Nova
·
2013-09-06 14:00
设计模式
工厂模式
大话设计模式
-观后感(1)
刚拿到
大话设计模式
书时,单从封面看觉得作者用浅显的道理来讲解软件开发中经常提到的设计模式。话说从2010步入软件行业,其间有一年的JAVA软件编程经验,用到过的设计模式有,单例,装饰,工厂,组合。
lowin
·
2013-09-05 20:07
设计模式C++实现(5)——原型模式、模板方法模式 --- 转
主要参考《
大话设计模式
》和《设计模式:可复用面向对象软件的基础》(
大龙的博客
·
2013-09-05 18:00
大话设计模式
五:依赖倒转原则(会修电脑不会修收音机)
依赖倒转原则 抽象不应该依赖细节,细节应该依赖于抽象,针对接口编程,不要对实现编程;针对抽象编程,而不是针对细节编程 A.高层模块不应该依赖低层模块。两个都应该依赖抽象。 B.抽象不应该依赖细节。细节应该依赖抽象。里氏代换原则: 子类型必须能够替换掉它们的父类型(好比学习继承的概念时,子类继承了父类,子类就可以以父类的身份出现) 一个软件实体如果使用的是一个父类的话
zdp072
·
2013-09-04 22:00
设计模式
依赖倒转
里氏代换
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
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
其他