Junior — Middle
Je možné vložiť ďalšiu obchodnú logiku do metódy získavania hodnoty vlastnosti?
sobes.tech AI
Odpoveď od AI
Všeobecne sa neodporúča vkladať dodatočnú obchodnú logiku do metódy získavania hodnoty vlastnosti (getter), pretože to môže viesť k nečakaným vedľajším účinkom a sťažiť pochopenie kódu.
Gettery by mali byť čo najjednoduchšie a najrýchlejšie, vracajúc hodnotu bez zmien alebo zložitých výpočtov.
Ak je však logika spojená s výpočtom hodnoty na základe aktuálneho stavu objektu (napríklad vypočítaná vlastnosť), je to prípustné.
Príklad povolenej logiky v getteru:
public class Order {
private int quantity;
private double pricePerUnit;
public double getTotalPrice() {
return quantity * pricePerUnit; // vypočítaná vlastnosť
}
}
Ak obchodná logika zahŕňa zmenu stavu, volanie externých služieb alebo zložité operácie, je lepšie ju presunúť do samostatných metód.