Det beror på situationen, om close ska vara en metod på Account så innebär det att Account ska hålla reda på sitt saldo och även funktionalitet för hur det ska stängas. Låter väl lite märkligt att ett konto kan stänga sig själv?
En klass ska bara ha ett jobb, Account lär vara en POCO som fylls via en databas och representerar en kunds konto. Uträkningar och principer kring stängning sker via affärslogikslagret för applikationen inte direkt i ditt domain objekt.
Om t.ex. en stängning också ska skicka ett mail/sms som bekräftelse till kunden, ska denna logik också ligga i account.close()?
Även om det refererar till abstraktioner så känns det som att account just nu gör mycket mer än vad ett account ska göra.
Snarare bör ett servicelager anropas, där kontonummer, tillsammans med den behöriga kundens ID (efter authenticering) utför ärendet.
AccountService.CloseAccount(account);
Detta i sin tur kommer validera stängningen och anropa datalagret och eventuella SMS / Emailstjänster.
Då har du fått bort all logik från account och account representerar istället bara information om just det kontot, som det bör göra.