SPRING.Net è il miglior framework per la programmazione orientata agli aspetti (AOP)? [chiuso]

StackOverflow https://stackoverflow.com/questions/246470

  •  05-07-2019
  •  | 
  •  

Domanda

Per favore, dammi i vantaggi e gli svantaggi dell'utilizzo del framework specifico.

Mi può dare esempi di successi in cui hai usato AOP nelle tue applicazioni .net?

È stato utile?

Soluzione

Un post precedente, ma potrebbe aiutarti a vedere alcuni dei pro / contro dei prodotti e delle implementazioni AOP.

http: //ayende.com/Blog/archive/2007/07/02/7-Approaches-for-AOP-in-.Net.aspx

Altri suggerimenti

Finora abbiamo utilizzato Spring.Net AOP per il classico esempio AOP di applicazione della registrazione a un'applicazione. Non ho usato nessuno degli altri framework AOP disponibili per .Net.

Funziona estremamente bene senza alcun impatto evidente sulle prestazioni, ha rimosso una tonnellata di codice in eccesso e ripetitivo dalla nostra applicazione e ha migliorato la copertura della registrazione e la qualità e la coerenza delle informazioni di registrazione. La registrazione è ora scritta in un unico posto e configurata in un unico posto: un enorme miglioramento.

Ci sono un paio di avvertenze: Spring.Net AOP richiede che qualsiasi oggetto venga avvisato per implementare almeno un'interfaccia; vale a dire, se si desidera registrare le chiamate del metodo a un oggetto, quell'oggetto deve implementare almeno un'interfaccia. Inoltre, AOP non ha visibilità dell'attività all'interno di un metodo consigliato; vale a dire, non è possibile utilizzare la registrazione implementata da AOP per registrare, ad esempio, il valore che cambia di una variabile all'interno di un metodo.

In pratica, tuttavia, questo è principalmente un problema se si tenta di applicare AOP in modo retrospettivo a un'applicazione esistente. La codifica dell'interfaccia è comunque una buona pratica di sviluppo di IMHO e se è necessario registrare il funzionamento interno dei propri metodi, ciò potrebbe indicare che devono essere sottoposti a refactoring.

AOP richiede una certa pianificazione per l'implementazione e richiede una certa disciplina nelle pratiche di codifica ma, come i test di unità automatizzati, IMHO in genere serve solo a migliorare la qualità del codice.

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