设计模式(Patterns in Java)

如今设计模式已经成为架构师和程序员之间沟通的必备语言,也是普通程序员成长为资深程序员的必备基础之一。只有掌握了设计模式,才能更好地掌握DDD领域驱动设计等OO分析设计方法,也才能更熟练地学习使用不断涌现的新语言。

  本站GOF设计模式是国内媒体(书籍和网站)中最早(2002年)成体系专题讲解,至今已经累积了大量不同时期很多道友的模式学习讨论专题。对中国程序员设计思想提升发挥一定作用,甚至有道友提出:软件=数据结构 + 算法 + 设计模式

  本站还包涵了大量学习设计模式的资源,包括源码研读和实战心得,非常方便初学者学习。

1:前言

a 面向对象OO

a 函数式编程

a 学习GoF设计模式的重要性

a 建筑和软件中模式之异同

a 从脚本语言到Java

a 良好编程原则

a 你还在用if else吗?

a 设计模式专题讨论

a GoF三作者15年后再谈模式

 

GoF设计模式
A.创建模式

a 设计模式之Factory(工厂模式)
使用工厂模式就象使用new一样频繁.2002/10/9更新

a 设计模式之Prototype(原型模式)
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
a 设计模式之Builder
汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder模式就是将这两种情况分开进行。
a 设计模式之Singleton(单态模式)
保证一个类只有一个实例,并提供一个访问它的全局访问点 2002/10/9更新

B.结构模式

a 设计模式之Facade
可扩展的使用JDBC针对不同的数据库编程,Facade提供了一种灵活的实现.

a 设计模式之Proxy
以Jive为例,剖析代理模式在用户级别授权机制上的应用

a 设计模式之Adapter
使用类再生的两个方式:组合(new)和继承(extends),这个已经在"thinking in java"中提到过.

a 设计模式之Composite
就是将类用树形结构组合成一个单位.你向别人介绍你是某单位,你是单位中的一个元素,别人和你做买卖,相当于和单位做买卖。文章中还对Jive再进行了剖析。
a 设计模式之Decorator
Decorator是个油漆工,给你的东东的外表刷上美丽的颜色.
a 设计模式之Bridge
将"牛郎织女"分开(本应在一起,分开他们,形成两个接口),在他们之间搭建一个桥(动态的结合)
a 设计模式之Flyweight
提供Java运行性能,降低小而大量重复的类的开销.

C.行为模式
a 设计模式之Template
实际上向你介绍了为什么要使用Java 抽象类,该模式原理简单,使用很普遍.
a 设计模式之Memento
很简单一个模式,就是在内存中保留原来数据的拷贝.
a 设计模式之Observer
介绍如何使用Java API提供的现成Observer
a 设计模式之Chain of Responsibility
各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个.
aa 设计模式之Command
什么是将行为封装,Command是最好的说明.
aa 设计模式之State
状态是编程中经常碰到的实例,将状态对象化,设立状态变换器,便可在状态中轻松切换.
a 设计模式之Strategy
不同算法各自封装,用户端可随意挑选需要的算法.
a 设计模式之Mediator
Mediator很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以.
a 设计模式之Interpreter
主要用来对语言的分析,应用机会不多.
a 设计模式之Visitor
访问者在进行访问时,完成一系列实质性操作,而且还可以扩展.

a 设计模式之Iterator
这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入Collection中,直接使用Iterator进行对象遍历。更多Iterator专题

J2EE/JavaEE设计模式
aIoc模式/依赖注射模式
Ioc模式是一种框架技术性质的模式,它同时也为AOP的Java实现提供了一种途径。

aIoc容器的革命性优点
  Ioc容器的革命性优点是颠覆了“使用对象之前必须创建” 的基本Java语言定律。

a依赖注入与事件编程 
  因为方法的依赖而将整个类注入,是不是有点粗糙?

依赖注入IOC DI专题讨论

aCDI是什么?

AOP是什么?
  AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。AOP带来了新的编程革新。AOP是GoF设计模式的延续,解决了GoF设计模式无法解决的一些重要的问题。

AOP详解和AspectJ
  文章进一步介绍了AOP定义以及一些专业术语,通过AspectJ实现掀开了AOP神秘的面纱。

AOP与权限控制实现
  资源访问权限控制(ACL)是系统安全的主要部分,权限控制的设计和实现问题已经在本站社区有过多次讨论。使用AOP实现ACL可谓是不二之法。

AOP面向方面编程专题讨论

MVC模式已死
MVC模式将被DCI架构替代,控制器被Context替代。

MVC专题

Martin Fowler厌倦ORM模式了

DCI(Data Context Interaction)

设计模式在EJB中应用 板桥banq发表在《程序员》第6期的文章。

4:模式案例实战学习

模式 Jive设计模式学习 Jive是学习GoF设计模式最好案例之一,《Java实用系统开发指南》第三章。

aRefactoring(重整)实战
  以用户注册系统为例,如何重整到工厂模式,使之更具健壮性和扩展性。

a模式与架构实战企业培训咨询

 

畅销书“Java与模式”作者阎宏:我和banq之间的恩怨

多年来道友设计模式几百篇讨论专题

这么多设计模式,我的看法和理解

讨论设计模式和00思想

学习设计模式,哪本书适合入门呢

什么是OO思想?

设计模式归结到两个字:间接

J2SE等基础的重要性?

更多松耦合专题

原文地址:http://www.jdon.com/designpatterns/index.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值