Domanda

Ok, Ho questo essere umano qui, ma cosa può fare, Come scopriresti le sue abilità speciali? E quando scopri che tipo di esperto hai, come faresti effettivamente a utilizzare le sue responsabilità uniche?

Un esempio per questa domanda di schemi architettonici:

Interfaccia di base con caratteristiche comuni a tutti

interface IHuman {
    DateTime GetDoB();
}

Interfaccia estesa 1

interface ICivilian : IHuman {
    string GetEmail();
    void SendEmail();
}

Interfaccia estesa 2

interface IAccountant : IHuman {        
    double CalculateProfits();
}

Interfaccia estesa N+

interface IAnotherSpecializedHuman : IHuman {
    void DoSomethingExpert();
}

Scoperta e utilizzo delle API specializzate

Come progetteresti

  • un sistema altamente collegabile e accoppiato
  • con cui puoi eseguire tutte le operazioni umane comuni (ad es.
  • ma eseguire anche qualsiasi operazione specializzata disponibile,
  • a seconda di quali moduli sono incorporati
    • ad esempio, è possibile inviare e -mail, perché è fornito il modulo Icivilian
    • Ma non è possibile calcolare i profitti, perché il plug-in IACCOUNTANT non è fornito
  • E la domanda è Non tanto per fornire diverse implementazioni Ma per fornire diverse API specializzate (e API che hanno un genitore comune con funzionalità condivisa)

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top