Sono molto nuovo al principio di Service Component Architecture e Zope in generale, ma più guardo, più ZCA sembra essere una buona soluzione per una certa classe di problemi che incontro spesso.
Ho letto la maggior parte (se non tutti) dei tutorial zope.interface
e zope.component
, e ho la sensazione di comprendere i costrutti e la terminologia della libreria (ad esempio, capisco come le interfacce si riferiscono agli adattatori) ma non come l'intelaiatura, nel complesso, sia destinata ad essere usata.
Inoltre, lo ZCA sembra essere costruito attorno al principio di Service Component Architecture , ma non capisco come utilizzare gli strumenti Zope per implementare il software conforme SCA.
Le mie domande sono le seguenti:
- A che punto ZCA vuole che io aderisca al "modo SCA di fare le cose"?
- Quali sono i presupposti / concetti fondamentali di SCA che devo tenere a mente? (vedi sotto per informazioni su ciò che penso di capire)
- Qual è la relazione tra il registro dei componenti di Zope e l'importazione di cose dai sottomoduli? Il primo è inteso come sostituto di quest'ultimo nella maggior parte delle circostanze?
- Penso di avere un problema che potrebbe beneficiare della ZCA. Quali sono le solite caratteristiche di un problema che rendono la ZCA la risposta corretta?
Informazioni supplementari:
Familiarità con Zope Constructs
Ho letto la Guida completa all'architettura dei componenti di Zope , ma mi rimane una sensazione simile a quando Ho imparato il mio primo linguaggio di programmazione: conosco i nomi delle cose e quello che fanno, ma non capisco come orchestrare tutti i vari pezzi in una cosa utile.
Per analogia, un principiante pitone potrebbe sapere come definire una funzione e fare un ciclo, ma non sa come fare un programma .
Ho letto il case study della guida sopra, ma francamente non l'ho trovato molto illuminante. Vedo come ZCA aiuta in quel particolare contesto, ma sto cercando di generalizzare.
Familiarità con l'architettura dei componenti software
Ho solo una molto comprensione superficiale di SCA, la maggior parte dei quali deriva dagli articoli di Wikipedia su SCA e Service Oriented Architecture, insieme a questo articolo della mia (lontana) vita passata come sviluppatore di giochi indie.
Forse mi manca qualcosa di cruciale, qui? Ho cercato di ragionare in termini di implementazione delle idee nell'articolo "Cowboy Programming" sopra (il gamedev) con ZCA, ma forse mi sto solo confondendo?
Una soluzione in cerca di un problema?
Non voglio che i miei compagni di stackexchangers pensino che sono deciso a usare ZCA per il mio prossimo progetto. Non sono. Sto semplicemente cercando di capire il modo giusto TM di usare ZCA.
Ancora una volta, non sono in grado di:
- generalizza dagli esempi forniti nella documentazione
- immagina la struttura di alto livello e l'organizzazione di una base di codice ZCA.