2009-09-21 20 views
38

Spesso vedo le frasi "business logic" e "application logic" in termini di sviluppo del web (presumo che si applichi anche alla programmazione in generale piuttosto che allo sviluppo del web).Logica aziendale e dell'applicazione?

Questo è abbastanza nuovo per me quindi non so davvero cosa significhi, qualcuno potrebbe spiegarmi che cosa si intende esattamente con questo? È solo una "parola d'ordine" usata dai programmatori? O?

+0

Duplicato: http://stackoverflow.com/questions/1441202/why-is-it-called-business-logic-where-did-this-term-come-from –

+5

Il duplicato elencato spiega la logica di business, ma non logica applicativa. –

risposta

35

logica di business è fondamentalmente regole del sistema in base alle specifiche funzionali. Ad esempio, l'oggetto A di tipo B deve avere attribuito C e D, ma non E. La logica dell'applicazione è più una specifica tecnica, come l'utilizzo di servlet Java e OJB per persistere in un database Oracle. Alla fine, sono parole d'ordine per aiutare a descrivere i livelli di tecnologia in un'applicazione. Si spera, nel tentativo di mantenere separati i vari livelli, creando una migliore progettazione dell'applicazione.

+0

Pulito e semplice. Bella risposta. :) –

1
+1

Questo articolo spiega brevemente la logica aziendale, ma non la logica dell'applicazione. –

+0

Beh, sì, perché i due stanno descrivendo la stessa cosa. –

+0

Sì, in effetti avevo già consultato Wikipedia e l'ho trovato abbastanza ambiguo. Speravo in una spiegazione più concisa. –

37

Supponiamo che tu scriva un sistema che risolva le esigenze aziendali di un cliente.

La somma di tutto il codice è la logica dell'applicazione o l'architettura di sistema, ovvero la totalità del sistema che stai costruendo.

La logica aziendale è il sottoinsieme di codici che modella e guida i processi aziendali attuali. "Cosa succede quando viene effettuato un ordine per il prodotto X? Come viene calcolato il costo del prodotto Y?" Vale a dire. i bit di codice in cui è probabilmente necessario un input da parte del cliente/esperto di dominio/stakeholder del progetto.

Idealmente, la logica aziendale è separata nel proprio livello o livello (see the Wikipedia article on N-tier architecture). Il resto del codice può spesso essere pensato semplicemente come un'infrastruttura per aiutare quella logica di business ad essere eseguita (wrapper di database, funzioni di supporto, facciate di servizio, integrazione esterna, interfaccia grafica, ecc.).

0

In primo luogo, quali sono le cose che devi sapere (input)?

L'identità della persona che effettua il trasferimento La quantità di denaro da trasferire La fonte conto corrente numero L'obiettivo conto corrente numero Quali sono alcune delle "regole di business" che devono essere applicate?

La persona che effettua la richiesta deve avere l'autorità per farlo. La transazione deve essere atomica. La transazione potrebbe avere obblighi di segnalazione per il governo, se è superiore a un determinato importo Per "atomico", intendo che la transazione deve avere successo completo o deve completamente fallire. Non è possibile avere transazioni di conto in cui il denaro è prelevato da un account senza arrivare all'altro (il denaro scompare), o il denaro è depositato in un conto, ma non addebitato da un altro account (il denaro appare magicamente dal nulla).

Problemi correlati