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 は、IGuest を適応させる IDesk のアダプターです。
さて、これでアダプターができました。使用する前に に 登録する必要があるのはなぜですか?GlobalSiteManager
私はモバイル ゲームのバックエンドに取り組んでおり、Zope コンポーネント アーキテクチャを調べて、コードをよりモジュール化したいと考えています。ストレージをあらゆるデータベース テクノロジと交換し、コードを引き続き機能させる機能が必要です。これは、ZCA が誇らしげに宣伝しているように思えました。有名な GoF Design Patterns の本を読んだことがないので、ご容赦ください。