- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Okosóra és okoskiegészítő topik
- Samsung Galaxy A54 - türelemjáték
- Vivo X200 Pro - a kétszázát!
- Motorola Edge 50 Ultra - szépen kifaragták
- Így fotóz és ennyire melegszik a Galaxy S26 Ultra
- Apple iPhone 17 Pro Max – fennsík
- iPhone topik
- OnePlus 15 - van plusz energia
- Telekom mobilszolgáltatások
-
Mobilarena

Ú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!
- Hobby elektronika
- Milyen billentyűzetet vegyek?
- exHWSW - Értünk mindenhez IS
- Kételkedsz még a Marathonban? Nézz meg egy teljes kört!
- World of Tanks - MMO
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hosszú premier előzetest kapott az Arknights: Endfield
- Házimozi belépő szinten
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Azonnali VGA-s kérdések órája
- További aktív témák...
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- LENOVO YOGA 9 Pro 14 83BU004BHV
- iPhone 13 - Pink - 128GB - kártyafüggetlen - Akku 90%
- Apple Watch Series 10 GPS+Cellular 46mm, Újszerű, 1 Év Garanciával
- Ryzen 5 5500 / 32GB RAM / ASUS 4060 8GB / 1TB SSD
- HIBÁTLAN iPhone 14 Plus 128GB Midnight-1 ÉV GARANCIA - Kártyafüggetlen, MS4472
- Apple iPhone 14 128GB,Újszerű,Adatkabel,12 hónap garanciával
- BESZÁMÍTÁS! ASUS H110M i3 6100T 8GB DDR4 250GB SSD GTX 1050 Ti 4GB Kolink Inspire K2 aRGB 400W
- GYÖNYÖRŰ iPhone 13 Pro 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4365, 100% Akkumulátor
- AKCIÓ! Acer Nitro 5 AN515-58-75F8 Gamer notebook - i7 12700H 16GB DDR4 512GB SSD RTX 3060 6GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



