java设计模式(一)


模式的研究起源于建筑工程设计大师Christonpher Alexander 的关于城市规划与建筑设计的著作。尽管他的著作是针对于城市规划和建筑设计的。但是作者的观点实际上适用于所有的工程设计领域,包括软件开发设计领域。在软件设计方面GOF (俗称 4人帮)是《Designer Pattern》一书的作者,他们对模式的研究对后世影响极大。 从1993 年模式一书发表以来,软件学术界对于模式的讨论就从未中断过。 直至今日,GOF提出的23种模式依然对现今的软件设计依然具有很好的指导意义。

       另外,GOF模式一书虽然采用smalltalk作为编程语言(最古老的面向对象的编程语言),但同样适用于c++ 、 java、  c# 等面向对象语言的软件编程领域。


Designer Pattern 中对于模式的分类:

   

23种设计模与7大设计原则。

创建型:   共5种

  工厂方法 (简单工厂 工厂方法  静态工厂)、 抽象工厂、单例、原型、构建器(生成器)   


结构型:   共7种 

 适配器、装饰、代理、外观、桥接、组合、享元      

   

 行为型: 共11种
模板方法、状态、策略、命令、解释器、观察者、调停者(中介)、职责链、备忘录、迭代、访问者

 
7大设计原则:

1 单一职责: 类、接口的职责尽量细化、单一。每个类/对象都各司其职各尽所能,职责单一。
2 开、闭原则:对扩展开放,对修改关闭。
3 里氏代换:子类应当实现父接口的所有方法。 在继承、实现关系中,尽量用基类引用派生类,或基接口引用派生类/接口。
4 依赖倒转:依赖抽象而不依赖具体。具体而言就是要依赖接口编程,不要依赖接口的具体实现编程。
5 接口隔离:接口的功能尽量单一,不要在一个接口中定义过多的方法。使用多个隔离的接口比一个单独接口好。
6 迪米法特:最少知道原则,对象与外界产生的关联要尽量少。
7 合成复用:尽量使用合成/聚合的方式,不要使用继承方式。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值