Poprawna struktura obiektu/klasy

0

Mam pytanie dotyczące poprawnej "struktury" obiektu/klasy.Mam obiekt properties z konstruktorem construct(type, street, city, status). Obiekt properties będzie miał mnóstwo innych właściwości np. czy lokal posiada kredyt hipoteczny jeżeli tak rata kredytu, kwota czynszu, kwota ubezpieczenia nieruchomości itp, itd. Jak to najlepiej zapisać 1. Czy wszystko w konstruktorze klasy. 2. Czy konstruktor jak powyżej construct(type, street, city, status). a reszta właściwości poza konstruktorem. 3 Czy jeszcze inaczej construct(type, street, city, status) a reszta w metodach np. setRentalAmount(rentalAmount) {}, setMortgageRate(mortgageRate) {}

2

Obiekt properties będzie miał mnóstwo innych właściwości

Czyli planujesz wsadzić cały mechanizm do jednej klasy?

Na początku spróbuj podzielić to na mniejsze elementy.

1

Mam obiekt properties z konstruktorem construct(type, street, city, status). Obiekt properties będzie miał mnóstwo innych właściwości (...) a reszta w metodach np. setRentalAmount(rentalAmount) {},

Ja mam wrażenie, że w tym przypadku za bardzo próbujesz pisać OOP, mimo że na tym etapie tego OOP nie potrzebujesz, a jedynie pojemnika na dane klucz/wartość. Czyli czegoś w stylu haszmapy/słownika/struktury (koncepcyjnie, bo w JS obiekty też są często do takich celów używane).

Tj. mam wrażenie, że chcesz zrobić coś takiego:

class Properties {
   constructor(type, street, city, status) {
       this.type = type;
       this.street = street; 
       this.city = city;        
       this.status = status;               
       this.setRentalAmount(0);
   },
   setRentalAmount(rentalAmount) {
      this.rentalAmount = rentalAmount;
   }
}
const properties = new Properties("House", "Marszałkowska", "Warszawa", "active");
properties.setRentalAmount(1);

podczas gdy byłby to w zasadzie pusty kod, który nic nie robi, w JS można by to zapisać tak, za pomocą zwykłego literału obiektowego:

const properties = {
   type: "House",
   street: "Marszałkowska",
   city: "Warszawa",
   status: "Active",
   rentalAmount: 1,
};

Obiekt properties będzie miał mnóstwo innych właściwości np.

Ale, czy ten obiekt ma coś robić jeszcze? Czy masz potrzebę zrobić z niego klasę? Czy będzie on sam coś wyliczał, wykonywał jakąś logikę, czy tylko trzymał biernie dane? No i tak jak @Xarviel wspomniał - czy powinien być to jeden obiekt czy kilka mniejszych?

1 użytkowników online, w tym zalogowanych: 0, gości: 1