Wpis z mikrobloga

#programowanie
#ddd

Zastanawiam się nad powszechnie używanym w kontekście architektury oprogramowania terminie "business".
Chodzi mi o takie pojęcia jak "business logic", "business rules" etc. To po pierwsze kojarzy się automatycznie z jakąś organizacją biznesową - czyli czymś co przynosi zyski. Jak to rozumieć? Wydaje mi się że bardziej adekwatną i lepiej przetłumaczalną na polski jest pojęcie "domain". Przykładowo - czy robiony hobbistycznie program szachowy, gdzie próbujemy zastosować wszelkie zasady czystego kodowania i modelowania wynikające z DDD będzie miał logikę biznesową i zasady biznesowe? Jak dla mnie taką częścią domenową/biznesową byłby tu cały kod związany z zasadami gry w szachy np metoda IsMoveLegal(), IsCheckmate(), IsCheck() itd. To chyba właśnie będzie ta sławetna "logika biznesowa" w tym przypadku - ale tłumaczenie jakoś nie pasuje.

Jak to rozumiecie - czy mówiąc o "business rules", "business logic" zawsze muszę myśleć w kontekście oprogramowania które pozwala realizować model biznesowy jakiejś organizacji, firmy - czy też mogę używać tego pojęcia właśnie np. w kontekście darmowego silnika szachowego, albo programu szyfrującego?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TomAss83: język to język, nie szukaj w tym logiki. Domena jest dla mnie tak samym złym słowem (albo nawet gorszym), zresztą na wiki odnośnie DDD domain/business są używane zamiennie. Dla mnie te wszystkie "business" rzeczy to wymagania funkcjonalne
  • Odpowiedz
@TomAss83: > Jak to rozumiecie - czy mówiąc o "business rules", "business logic" zawsze muszę myśleć w kontekście oprogramowania które pozwala realizować model biznesowy jakiejś organizacji, firmy

Nie, logika biznesowa to jest ogólna nazwa na zbiór reguł i zachowań występujących w określonej dziedzinie. Taką dziedziną jak najbardziej może być szyfrowanie czy gra w szachy, ale mogą też być ubezpieczenia, e-commerce, bankowość, księgowość itd... Dlatego ja wolę mówić logika dziedzinowa (nie
  • Odpowiedz
@TomAss83: Mam rozumienie podobne jak u przedmówcy @Saly, tylko jeszcze bardziej bym ją przyciął - pozbawiając te wymagania elementów związanych logiką dotyczącą warstwy prezentacji i logiką z warstwy danych, czyli w klasycznym modelu 3-warstwowym będzie to co się dzieje w warstwie aplikacji.

A jeszcze ciekawiej się zrobi, kiedy wprowadzimy pojęcie domeny. Będzie ona dodatkową warstwą wydzieloną z warstwy aplikacji - tak aby w warstwie aplikacji pozostało tylko to
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@markaron: @Saly: @PaaD:
Dzięki. Czyli rozumujemy podobnie. Nadal uważam że ten zwrot, albo może bardziej tłumaczenie jest trochę niefortunne i od razu kieruje myśli na typowe aplikacje biznesowe.
  • Odpowiedz
@TomAss83: Jak by się nad tym głębiej zastanowić to w tej nazwie (logika biznesowa) i jej powiązaniu z biznesem jest dużo prawdy, gdyż po to tworzy się aplikacje, aby przynosiły wartość biznesową, cokolwiek to będzie (gra w szachy, autorskie rozwiązanie do rozpoznawania twarzy, innowacyjny proces obsługi klientów, itp).

Większość aplikacji czy gier tworzy się po to aby przynosiły zysk. I bardzo często dzięki tej unikalnej logice biznesowej jedna firma może
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@markaron:

W sytuacji gdy tworzymy aplikację/grę dla siebie bez wartości biznesowej ta nazwa rzeczywiście


Albo po prostu cokolwiek w niekomercyjnego - czasem bardzo rozbudowanego i
  • Odpowiedz