Questa è una domanda soggettiva, suppongo, ma speravo in opinioni su entrambi i lati dell'argomento.
Quindi prendi questo ad esempio in C #:
public interface IFactory<Tin, Tout> : IFactory
{
Tout Create(Tin param);
}
Ora come puoi vedere prendiamo un tipo di input e un tipo di output, tuttavia molti framework hanno spesso una serie di generici diversi in questi casi in cui spesso si finisce per avere TinOne
, TinTwo
ecc. far fronte a più casi d'uso. Quindi, anche nel sorgente C # generalmente fa <all input types, output type>
tuttavia quando si va effettivamente a guardare le implementazioni di interfacce come questa, generalmente (di nuovo soggettivo) si vuole sapere qual è il tipo di ritorno, dato che spesso è il contratto a cui tieni circa per il resto del programma, quindi spesso rende più difficile trovare queste interfacce nel codice a causa del tipo di output che è l'ultimo nella lista non prima.
Quindi, perché è stato adottato questo approccio? come personalmente troverei che l'output sia in primo luogo più logico, ma sono sicuro che c'è una buona ragione per cui.