Zasady programowania obiektowego

0

Cześć,
Mam w programie trzy metody,

void reading(const std::string name);
void set_text(const std::string old_word, const std::string new_word);
void saving(const std::string name);

Wszystkie trzy obiekty bazują na niejawnej referencji do zmiennej klasowej m_text, do której kolejno, zapisują tekst z pliku, zamieniają każde wystąpienie słowa old_word na słowo new_word oraz zapisują ją do nowego. Zastanawiam się czy taka forma deklaracji i postępowania ze składową jest odpowiednia.
Alternatywnie myślałem o rozwiązaniu, w którym metoda reading zwraca referencję do m_text, a w metodach set_text i saving dodajemy kolejny argument, refrencję do std::string i dopiero w mainie, za pomocą gettera uzyskujemy dostęp do zmiennej m_text.
Który ze sposobów jest bardziej zgodny z zasadami programowania obiektowe/programowania w C++?

2

Metody reading i saving powinny wylądować w osobnej klasie (SRP), która zajmuje się serializacją danych z klasy. reading przyjmie obiekt i ścieżkę do pliku, natomiast saving przyjmie ścieżkę do pliku i zwróci gotowy obiekt.

0

Dziękuję bardzo, w takim razie temat chyba do zamknięcia.

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