Domanda

So che questo problema è stato fatto prima, ma questo era un anno e mezzo di anni fa, anche se ho pensato che potrebbe essere il momento per un re-interrogatorio. Ho anche riconosciuto che potrebbe essere visto come soggettiva, ma credo che non ci sono ragioni oggettive per / contro AOP.

Sarei interessato a chi sta usando AOP nello sviluppo di software e anche perché o perché non di utilizzarlo.

Vedo AOP come un paradigma molto forte che può fare un sacco di compiti di sviluppo più facile. Ma quando si tratta di utilizzare AOP in progetti reali che ho fatto l'esperienza che molti decisori sono appena aperto ad esso. Come siete riusciti a introdurre AOP nei vostri progetti?

In precedenza chiesto domanda da agosto 2008: Do you utilizzare AOP (Aspect Oriented Programming) nel software di produzione?

È stato utile?

Soluzione

I nostri manager ascoltare la propria squadra architettura.

Diciamo loro che AOP è l'unica soluzione per implementare trasversale riguardano caratteristiche:

  • ad un costo ragionevole, in primo luogo
  • senza fare confusione con il codice funzionale scritta dal team di sviluppo
  • senza mai dimenticare (rispetto ad aggiungere manualmente un try-catch per migliaia di metodi), ora e in futuro
  • senza dover addestrare o controllare ciò che gli sviluppatori stanno facendo (alcune sono grandi, altri sono un vero casino)
  • con una buona manutenzione

È vero, il nostro progetto è di 20 sviluppatori ed è durato per diversi anni, per cui v'è una massa enorme di codice. E 'l'unica soluzione.

  

Credo che la chiave è quella di usarlo solo per le preoccupazioni trasversali.   Se è possibile codificare utilizzando il codice normale, farlo. Ma se è troppo grande, allora AOP è attraente e giustificato. Non riuscendo a limitare AOP porterebbe a centinaia di AOP piccoli codici, che sarebbe molto difficile da capire.

E sì, il nostro software è la produzione di software. Centinaia di cliniche dipendono da questo!

Altri suggerimenti

Non usiamo AOP 100% per sé, ma sì, noi usiamo ogni volta che riteniamo appropriata (per lo Spring AOP, che è così ben integrato con il framework Spring)

  

Come siete riusciti a introdurre AOP nei vostri progetti?

Bene, separare le preoccupazioni trasversali ad es. tracciamento chiamate di metodo. Nella primavera AOP, è possibile definire un aspetto (un comportamento runtime), che andranno applicati ad una sezione "agganciato" di codice. Con "agganciato" Voglio dire, si dovrebbe essere in grado di raggruppare tutti i metodi in cui è necessario questo comportamento sotto un unico ombrello comune. In fase di esecuzione, questo codice umbrella'ed otterrà un nuovo comportamento, come definito dal vostro aspetto.

Spring AOP come Peakit detto è facile introdurre se si sta già utilizzando framework Spring nel progetto.

ho aggiunto AspectJ per il nostro progetto di strumenti che viene utilizzato solo internamente e mai rilasciato ai clienti. Ciò ha contribuito sia il team di sviluppo e di gestione per guadagnare la fiducia sullo strumento e avere una chiara idea di che cosa può fare per loro.

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