filozofia - obiekt w klasie

0

Cześć.
Mam takie pytanie dość filozoficzne.

Przejdę do rzeczy: Mam taką sobie klasę:

Class Note
{
 private string Topic = "";
 private string Text = "";
 private DateTime CreateDate = DateTime.now;
 private DateTime EditDate = DateTime.now;
 private Group group = new group();               // To jest obiekt innej klasy stworzonej przeze mnie.

public string GetText()
{
 return this.Topic; 
}

public string GetText()
{
 return this.Text;
}

public DateTime GetCreateDate()
{
 return this.CreateDate;
}

public DateTime GetEditDate()
{
 return this.EditDate;
}

}

Moje pytanie brzmi: W jaki sposób operować w tej klasie na grupie?
Tzn, jeśli napiszę np funkcję:

public Group GetGroup()
{
 return this.group;
}

To niby jest wszystko ok, jednakże w ten sposób zrobię tzw. lokomotywę:

string InfoGroupNote = MyNote.GetGroup().GetInfo();

Co nie jest dobrą praktyką ani zachowaniem czystego kodu.

Poszukuję rozwiązania lepszego.
Jak Wy byście zrobili taką rzecz, z zachowaniem metod czystego kodu?

0

Wszystko ok, tylko użyj właściwości. Wtedy zrobisz: myNote.Group.Info. Tylko, co to jest info? Informacje na temat grupy powinny być w samej grupie.

0

No własnie tak jest.

Mam klasę notatka oraz klasa grupa, w której to jest nazwa grupy oraz informacja o grupie.

Czyli get/set pomoże i zachowa to ładny wygląd kodu tak?
Dziękuję za pomoc, pozdrawiam :)

0

Możesz zawsze dodać właściwość

public string GroupInfo{ get{return group.Info;} }

Skróci to wywołanie, ale moim zdaniem w tym przypadku nie ma sensu. Oszczędność tu jest rzędu kilku znaków, a namnożenie takich "skrótów" utrudni w przyszłości analizę i debugowanie (pomijam tu zasady OOP)

Czyli get/set pomoże i zachowa to ładny wygląd kodu tak?

Tak, ale właściwości używaj tam gdzie użyłbyś accessor'ów

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