Personal tools

Python: 简单的美 我们喜欢Python !

我们也喜欢, Django, Pylons 都很简单

那么 Zope !!

大家伙 太复杂!

如何开发一个大型系统? 很严肃 ... 面向对象? 对象耦合、重用问题...

20多种设计模式...

很难、很专业!

MVC轻量级框架

用一点是一点咯

我们缺少什么?

组件开发框架!

基于接口开发

可重用 可维护

他山之石:

COM

XPCOM

我们拥有什么?

ZCA

Zope Component Archetecture?

Python Component Archetecture!

回顾...

一:过程式

数据为中心

编写函数操作数据

数据在函数之间传递

复杂难维护!

二:面向对象

封装数据和操作

更容易维护

噩梦: 扩展新功能...

三:适配器模式 Adapter

ZCA核心功能!

瘦的Model

通过Adapter来扩展

一切皆适配!

看看现实生活中的适配器

显卡?

PCI -> VGA

网卡?

PCI -> 网线EIA/TIA 568B

电源?

220V -> 9V

接口! Interface

适配,

一个接口 -> 另一个接口

多适配,

多个接口 -> 新的接口

投影仪?

视频 + 电源 -> 投影

ZCA做什么?

一: 提供使用接口定义组件的方法

二:注册组件之间的接口关系

三:查询满足某个接口关系的组件

如何表现单子模式?

单子: 电源

单子:数据库连接

工具 Utility: 适配空

Utility: 得到实现某接口的对象

高级的适配应用

1. 订阅适配

例: 多重的数据校验

2. 事件处理器

Observer模式

就这些了...

到底用起来怎么样?

首先: 掌握有点点门槛

设计模式进入天人合一境界

更方便各个模块独立开发

方便测试

可重用!

提供了实践设计模式的简单途径

反思: 真的需要ZCA吗?

复杂系统的存在,是ZCA的根基

如果世界本来就简单呢?

但世界本来就复杂啊!

分解之...

手术刀:WSGI

WSGI的时代已经到来...

repoze.tm

repoze.who

repoze.vhm

repoze.urispace

repoze.errorlog

repoze.profile

repoze.debug

deliverance

Beaker

因此,WSGI让:

1. 复杂的分裂为简单

2. 融合各个简单个体

总结

谢谢!

 

本站由 润普公司资助, 采用 易度CMS 构建。

广而告之:润普公司 易度云办公平台,包括 易度文档管理系统 易度项目管理系统 , 易度部门管理 ,均采用Zope 3/BFG技术开发。
沪ICP备05008050