- Milyen TV-t vegyek?
- Apple MacBook
- Milyen videókártyát?
- Forradalomi előrelépésként jellemzi az NVIDIA a DLSS 5-öt
- Vezeték nélküli fülhallgatók
- Amlogic S905, S912 processzoros készülékek
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Vezetékes FEJhallgatók
- Apple asztali gépek
-
PROHARDVER!

Új hozzászólás Aktív témák
-
akrobet
tag
Sziasztok!
Tanácsot szeretnék kérni egy üzleti szabálymotor (business rule engine) megtervezésével kapcsolatban.
Angol leírás: [link] - szerintem sokkal érthetőbb annak aki tud angolul mint az én alábbi fordításom

A szabálymotor egy rendelés feldolgozó rendszer része lenne, ehhez hasonló funkciókkal:
- ha egy rendelés érkezik egy fizikai termékért, generáljon egy csomagolási szelvényt (packaging slip) a küldéshez
- ha egy rendelésérkezik egy könyvért, hozzon létre egy másolatot a csomagolási szelvényről a jogdíj osztály részére
- ha egy rendelés érkezik egy tagságért, aktiválja a tagságot
- ha egy rendelés érkezik egy tagság előléptetéséért (upgrade) , érvényesítse az előléptetést (apply the upgrade)
- ha egy rendelés érkezik a "Síelni tanulunk" nevű filmért, addjon hozzá egy "Elsősegély" nevű videót a csomagolási szelvényhez.
...
A rendszernek ehhez hasonló szabályok százait kell hogy tudja feldolgozni, és a szabályok folyamatosan bővülnek és változnak a rendszer élettartama alatt.
Tehát a feladat egy olyen rendszer megtervezése ami elég flexibilis hogy kezelni tudja a bonyolult szabályokat, úgy hogy minél kevesebb karbantartást igényeljen a rendszerfejlesztőtől.
A feladatban előírják, hogy az egyszerűséget előnynek tekintik az rendszer architekturában. Tehát bonyolult design patternek használata nélkül, ha nincs létjogosultsága.
A kódnak teszelhetőnek és könnyen olvashatónak kell lenni.
Nah, ez lenne a feladat leírása (fordítása).
Két megoldás között vacilálok, mivel a feladatban (gondolom direkt) nem utaltak rá, hogy pontosan milyen gyakran változnak ezek a szabályok és hogy a rendszer felhasználói (webshop tulaj) tudjanak-e maguk változtatni / hozzáadni új szabályokat.
1. megoldás - lényegében hardcodeolni a szabályokat termék típus szerint
előnyök: nem igényel bonyolult programozási "trükköket" mint reflection, expression trees, stb..
hátrányok: minden szabályvátloztatás programozót igényel és egy új rendszer verzió beüzemelését (deploy)2. megoldás - a szabályok dinamikusan létrehozhatók a felhasználók által, pl definiálva a termék típusát (class name) és paramétereit (property) és a szabályokat adatbázisba menteni, és vizsgálásnál kiolvasni, majd reflectionnel megvizsgálni hogy az adott megrendelés, stb. megfelel-e a szabályoknak és aszerint végrehajtani az utasítást.
előnyök: rugalmas rendszer, a szabályok létrehozása nem igényel programozót
hátrányok: bonyolultabb implementáció, nem túl elegáns kód (reflectionnel), ha megváltozik egy utasítás neve a kódban, az adatbázisban tárolt szabályok nem működnek többéÉn személy szerint a második megoldás felé hajlanék, mert szabályok százainak karbantartása szerintem túl költséges lenne. A problémám csak az hogy sokan írják a reflectionről pl. stackoverflow-n, hogy lassú és nem alkalmazható olyan helyeken ahol utasítások millióit kell végrehajtani.
Valakinek esetleg lenne ötlete/tapasztalata ilyen rendszer fejlesztésével esetleg a két megoldás közül melyik lenne helytállóbb?
Programozási nyelv: C#
Bocsi a hosszú postért, de szerintem szükséges a feladat megérteséhez. Ha furcsa magyar megfogalmazást használok az azért van mert csak angolul tanultam programozást és nem tudom a magyar kifejezéseket.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Milyen TV-t vegyek?
- Google Pixel topik
- Mesterséges intelligencia topik
- A Föld teraformálásával építene galaktikus birodalmat Elon Musk
- PlayStation 3
- PlayStation 5
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Apple MacBook
- Milyen videókártyát?
- További aktív témák...
- Adata XPG Lancer Blade Memória, 32GB (2x16GB) DDR5, 6000MHz CL30 kit (2028.07.25-ig PCX GARI)
- SAPPHIRE RX 7700 XT PULSE GAMING 12G GDDR6 (2028.07.25-ig PCX GARANCIA)
- Hyte Y60 Distro eladó
- Dell Latitude 5570 laptop (i5, 8 GB, 240 NVME Samsung SSD)
- LianLi Strimer Plus V2 és Strimer Wireless vga modding kábelek
- Bomba ár! Dell Latitude E7240 - i5-4GEN I 8GB I 128SSD I 12,5" HD I HDMI I W10 I Garancia!
- iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4475
- Microsoft Surface Laptop 5 i5-1245U 16 GB RAM 2256X1504 érintőkijelző Garancia
- HP EliteBook 855 G7 15,6" Ryzen 5 PRO 4650U, 16GB RAM, 256GB SSD, jó akku, számla, 6 hó gar
- BESZÁMÍTÁS! 64GB Kingston Fury Renegade 2666Mhz DDR4 memória garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



