我正在阅读关于 zope 组件架构的精彩教程:
http://www.muthukadan.net/docs/zca.html#adapters
我似乎无法理解适配器章节。
>>> from zope.interface import implements
>>> from zope.component import adapts
>>> class FrontDeskNG(object):
...
... implements(IDesk)
... adapts(IGuest)
...
... def __init__(self, guest):
... self.guest = guest
...
... def register(self):
... guest = self.guest
... next_id = get_next_id()
... bookings_db[next_id] = {
... 'name': guest.name,
... 'place': guest.place,
... 'phone': guest.phone
... }
如我错了请纠正我。上面的类FrontDeskNG
是一个适配器,对吧?正如文章中所写:
FrontDeskNG 是 IDesk 的一个适配器,它适配了 IGuest
好的,现在我有了适配器,为什么我必须先注册它GlobalSiteManager
才能使用它?
我正在开发手机游戏后端,我想通过查看 Zope 组件架构来使代码更加模块化。我需要能够用任何数据库技术替换我的存储并且让代码仍然有效。这似乎是 ZCA 自豪地宣传的东西。我从未读过著名的 GoF 设计模式书,所以请多多包涵。