This blog is an abstract from How is Dexterity related to Archetypes by Martin Aspeli.
Dexterity 是 Archetypes 的替代方案,這兩種方案都是 Plone 建構 content type 的框架技術。由於 Archetypes 存在已久,是成熟的方案,而 Dexterity 是後起之秀,結合新版 Zope 技術,有些新技術能夠有效處理以往難以解決的問題。
下列是幾項主要的差異:
* Dexterity 結合新版 CMF、Zope 3 的技術與功能,程式碼更精簡,測試工作更能自動且完整。
* Dexterity 具備更高的模組化程度,更容易整合 SQL 資料庫。
* Archetypes 自有的 Schema 機制,並無法完全相容於 zope.interface 或 zope.schema 的介面。
* Archetypes 使用 accessor 與 mutator 來處理設定值,Dexterity 則使用 attribute notation 方式來處理,因此 Archetypes 的寫法類似 context.getFirstName() 而 Dexterity 是 context.first_name 這樣的寫法。
* Archetypes 自有的 field 和 widget 配合 content object 的脈絡來運作,並不容易被應用在獨立表單,Dexterity 則使用 z3c.form 函式庫,這是表單運作的標準工具。
* Archetypes 並不支援新增表單,Dexterity 則透過 z3c.form 來支援,這代表它不需要用到 portal_factory,執行效率能夠改善。
* Dexterity 支援 behavior,但 Archetypes 沒有直接支援。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment