Rendering of reStructured text is not possible, please install Docutils.
:status: 今天牙疼,冒着牙疼讲课,值得鼓励不。。。我半边脸都是肿的,发现没。
Junyong Pan::
Junyong Pan <[email protected]>
reply-to [email protected]
to [email protected]
cc "Python.cn@google" <[email protected]>,
CPUG-华东南用户组 <[email protected]>,
哲思讨论区 <[email protected]>,
"TopLanguage]列表" <[email protected]>,
[email protected],
金山蟒营 <[email protected]>,
[email protected]
date Sat, Sep 20, 2008 at 18:06
subject [ZPyUG:874] Re: [ann][会课]ZPyUG 08.03 合OpenSourceCamp 广州~总第31次
.. contents::
:depth: 3
源自 ZPyUG08.3_ "[会课]ZPyUG 08.03 合OpenSourceCamp 广州~总第31次"
.. _ZPyUG08.3: http://wiki.woodpecker.org.cn/moin/ZPyUG/2008-09-20
======================
从 组件架构 到 WSGI
======================
Python: 简单的美
我们喜欢Python !
我们也喜欢,
Django, Pylons
都很简单
那么
Zope
!!
大家伙
太复杂!
如何开发一个大型系统?
很严肃 ...
面向对象?
对象耦合、重用问题...
20多种设计模式...
很难、很专业!
MVC轻量级框架
用一点是一点咯
我们缺少什么?
组件开发框架!
基于接口开发
可重用 \ 可维护
他山之石:
COM
XPCOM
我们拥有什么?
ZCA
Zope Component Archetecture?
Python Component Archetecture!
------------------------
回顾...
------------------------
一:过程式
数据为中心
编写函数操作数据
数据在函数之间传递
复杂难维护!
二:面向对象
封装数据和操作
更容易维护
噩梦: 扩展新功能...
三:适配器模式 Adapter
ZCA核心功能!
瘦的Model
通过Adapter来扩展
一切皆适配!
看看现实生活中的适配器多个接口 -> 新的接口
投影仪?
视频 + 电源 -> 投影
ZCA做什么?
一: 提供使用接口定义组件的方法
二:注册组件之间的接口关系
三:查询满足某个接口关系的组件
如何表现单子模式?
单子: 电源
单子:数据库连接
工具 Utility: 适配空
Utility: 得到实现某接口的对象
高级的适配应用
1. 订阅适配
例: 多重的数据校验
2. 事件处理器
Observer模式
就这些了...
到底用起来怎么样?
设计模式进入天人合一境界
更方便各个模块独立开发
方便测试
可重用!
提供了实践设计模式的简单途径
反思: 真的需要ZCA吗?
复杂系统的存在,是ZCA的根基
如果世界本来就简单呢?
但世界本来就复杂啊!
显卡?
PCI -> VGA
网卡?
PCI -> 网线EIA/TIA 568B
电源?
220V -> 9V
接口! Interface
适配, 一个接口 -> 另一个接口
多适配,
但世界本来就复杂啊!
分解之...
手术刀:WSGI
WSGI的时代已经到来...
repoze.tm
repoze.who
repoze.vhm
repoze.urispace
repoze.errorlog
repoze.profile
repoze.debug
deliverance
Beaker
因此,WSGI让:
1. 复杂的分裂为简单
2. 融合各个简单个体
.. macro:: [[PageComment2(nosmiley=1, notify=1)]]
.. macro:: -- ZoomQuiet [[[DateTime(2008-09-21T15:38:10Z)]]]