CRUD jest akronimem tworzącym, czytającym, aktualizującym i usuwającym. Są to cztery podstawowe operacje, które można wykonać na krotce bazy danych. Jednak aplikacje biznesowe zawsze zawierają coś więcej niż tworzenie, odczytywanie, aktualizowanie i usuwanie rekordów bazy danych.
Zacznijmy od kilku podstawowych definicji, a następnie spójrzmy na kilka przykładów i zobaczmy, jak te definicje odwzorowują na przykłady i jak odwzorowują na rzeczywiste oprogramowanie.
Logika biznesowa lub logika domenowa to część programu, która koduje rzeczywiste reguły biznesowe, które określają sposób tworzenia, przechowywania i zmiany danych. Określa sposób interakcji między obiektami biznesowymi oraz wymusza trasy i metody uzyskiwania dostępu do obiektów biznesowych i ich aktualizowania.
Reguły biznesowe opisują operacje, definicje i ograniczenia dotyczące organizacji. Operacje wspólnie tworzą proces; każda firma wykorzystuje te procesy do tworzenia systemów, które wykonują zadania.
Teraz popracujmy z kilkoma przykładami.
Przelewanie pieniędzy z jednego rachunku czekowego na inny
Po pierwsze, jakie rzeczy musisz wiedzieć (dane wejściowe)?
- Tożsamość osoby dokonującej przeniesienia
- Kwota do przesłania
- Numer konta sprawdzającego źródło
- Numer konta sprawdzającego cel
Jakie są „reguły biznesowe”, które należy zastosować?
- Osoba składająca wniosek musi mieć do tego uprawnienia.
- Transakcja musi być atomowa .
- Transakcja może podlegać wymogom sprawozdawczym wobec rządu, jeśli przekroczy pewną kwotę
Przez „atomowy” rozumiem, że transakcja musi całkowicie zakończyć się powodzeniem lub całkowicie zawieść. Nie możesz mieć transakcji na rachunku, na których pieniądze są pobierane z jednego konta bez dotarcia na drugie (pieniądze znikają) lub pieniądze są wpłacane na konto, ale nie są pobierane z innego konta (pieniądze magicznie pojawiają się znikąd).
Zamawianie czegoś z Amazon.
Co chcesz wiedzieć?
- Tożsamość osoby zamawiającej
- Informacje wysyłkowe
- Informacje rozliczeniowe
- Metoda płatności
- Ilość i ilość każdego przedmiotu do wysłania
- Jak wysyłać (z dnia na dzień, wolna łódź lub super oszczędność)
- Stawka podatkowa
Co dzieje się po złożeniu zamówienia?
CRUD to po prostu Tworzenie, Odczytywanie, Aktualizowanie, Usuwanie, które wykonuje aplikacja.
Do pewnego stopnia narzędzie do śledzenia błędów jest również aplikacją CRUD. Twórz błędy, czytaj (wyświetlaj) błędy, aktualizuj błędy i być może je usuwaj.
Śledzenie błędów nie ogranicza się jednak do CRUD.
Kod, który implementuje powyższe, jest logiką biznesową aplikacji.
Ograniczenie przepływów pracy lub kto może wykonywać różne operacje w CRUD. To właśnie odróżnia jedną aplikację CRUD od drugiej. Są to części, w których musisz sprawić, by firma faktycznie powiedziała, jak działa aplikacja. Jakie to logiczne ... cóż, najlepiej omówić to przy piwie poza okiem kierownika projektu. Ale taka jest logika biznesowa.
Jasne, można napisać „czystą” aplikację CRUD, w której nie ma ról, wszystko można modyfikować i przeglądać - ale to raczej wyjątek niż reguła.
Logika biznesowa to logika, którą piszesz w swoim programie, aby obsłużyć podane reguły biznesowe.
Kiedy zaczynasz wchodzić w reguły biznesowe, zwykle jest to na wyższym poziomie niż sama grubiańska logika biznesowa. Zwykle są to rzeczy, które dostajesz od analityka biznesowego, który współpracuje z biznesem.
Rozważ w tym przykładzie program, który określa sposób obsługi zwrotu towaru na stanowisku zwrotu w sklepie.
To są niektóre reguły biznesowe. Nie rozmawiają z częścią CRUD aplikacji.
Podczas pracy z regułami biznesowymi często można je znaleźć w silniku reguł (na przykład Windows Rulesflow Foundation Rules Engine ) zamiast pisać surowy kod w systemie.
Uświadom sobie, że rozróżnienie logiki / zasad jest terminologiczne i można je spierać całą noc (najlepiej przy piwie). Choć nie jest to rzadkie rozróżnienie, oba mogą się ze sobą łączyć.
źródło
Inne odpowiedzi są poprawne. Jedna dodatkowa myśl…
Logika biznesowa jest przenośna
Jeśli chcesz ponownie wdrożyć projekt oprogramowania w innym języku programowania, powiedzmy, przejście z Turbo Pascal na Javę , logika biznesowa i reguły biznesowe są wspólne dla starych i nowych projektów .
Język programowania byłby inny. Kod źródłowy byłby zupełnie inny. Narzędzia ( IDE , kompilatory itp.) Mogą być zupełnie inne. Interfejs użytkownika może być całkowicie zreorganizowany lub mieć inny wygląd i dotyk . Dokumentacja będzie prawdopodobnie inna. Ale cel tych dwóch projektów, końcowe wyniki wykonanej pracy / osiągnięte cele byłyby takie same.
źródło
Logika biznesowa zasadniczo składa się z 2 ogólnych kategorii: walidacji i przepływu. Logika biznesowa mówi, że ilość 1 musi być większa lub równa 2 - na przykład liczba pozycji do zakupu musi być mniejsza lub równa liczbie elementów w magazynie.
W jednej aplikacji ludzie biznesu powiedzą, że jest to reguła biznesowa, więc piszesz kod w celu wymuszenia logiki biznesowej (sprawdzania poprawności). Inna aplikacja powie, że jeśli liczba zamówionych przedmiotów jest większa niż liczba przedmiotów w magazynie, przyjęcie zamówienia, a następnie złożenie własnego zamówienia z różnicą plus 20%, a więc zapiszę tę logikę biznesową (przepływ) .
CRUD po prostu pobiera i zapisuje dane oraz je zmienia. Logika biznesowa określa, co robisz z tymi danymi i jakie transformacje możesz w nich wprowadzać. Czy Twój klient urodził się w przyszłości, w wieku poniżej 5 lat, z określonego obszaru geograficznego (zniżki dla mieszkańców / gości). CRUD jest prosty, wiedząc, że możesz uzyskać ulgę podatkową na dziecko tylko wtedy, gdy dziecko mieszkało z tobą przez ponad połowę czasu, w którym żyło w roku kalendarzowym, a NIE tylko dłużej niż 6 miesięcy, jest bardziej złożone.
źródło
Logika biznesowa lub reguły to wszystko, co nie dotyczy mechaniki interfejsu użytkownika („rzeczy programistyczne”). Są to rzeczy, które nadal musiałbyś zastosować, gdybyś robił tę transakcję lub cokolwiek 100 lat temu (ręcznie). Na przykład, kiedy zastosować podatek od sprzedaży do zakupu.
źródło
„Logika biznesowa” programu lub aplikacji jest częścią kodu, która faktycznie robi rzeczy z danymi wejściowymi (od użytkownika, systemu operacyjnego itp.). „Reguły biznesowe” aplikacji to zazwyczaj zdefiniowane parametry samego programu (takie jak sposób obsługi danych wejściowych). Przynajmniej tak słyszałem o tym wiele osób. Są to bardzo podobne terminy opisujące części kodu.
źródło