设计模式之《松本行弘的程序世界》的读书笔记

详细页面:http://www.verydemo.com/demo_c119_i183.html


阅读《 松本行弘的 程序世界》:http://book.51cto.com/art/201108/284603.htm 设计模式原本是从面向对象的代码中总结出来的,但是现在的编程语言往往在语法级别就封装了一些常用的 设计模式支持。 设计模式和具体编程语言无关,但是 设计模式在各个具体语言里面的使用方法不尽相同。在 设计以及开发面向对象 程序的时候,就应该遵循以下抽象原则:
  1. 开放-封闭原则()
  2. 单一职责原则(SRP)
  3. Liskov替换原则(LSP)
  4. 依存关系倒置原则(DIP)

我们的目标是使代码符合上面的这些原则,这是 目的。我们如何达到这个目的呢?那就是使用 设计模式,这是 手段。目的比手段更抽象,也即比抽象程度更高。


1. Singleton
  1. 使用库的方法实现
  2. 使用类或者模块

总结:反正不管用什么手段,必须只有一个实例!必须的!


2. Proxy 模式 (构造)
说明:为某个对象提供代理对象。 什么意思?为什么:
  1. 不想把实现写死,调用程序只和Proxy打交道
  2. 延迟加载具体程序,先加载Proxy
  3. 屏蔽具体实现的复杂性,简化调用接口
如何做:
  1. 自己写代码(库其实是别人写的代码)

3. Iterator 模式 (行为)

说明:提供按顺序访问中各元素的方法,即使不知道对象的内部构造          也可以按顺序访问其中的每个元素。为什么:为什么?如何做:
  1. 类库只带实现,例如java里面的集合类,都是可迭代的,不过代码写起来比较拖沓
  2. 语法自然实现,python里面就自然的实现,例如 for x in XXX.
  3. 你自己写代码实现
总结:这已经是最基本的东西了,几乎都不算是个模式了。

<stron…………………………………………………………………………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值