История изменений
Исправление pozitiffcat, (текущая версия) :
Как такой вариант:
class Book {
private String content;
private BookStorage storage;
private BookPrinter printer;
public void setContent(String content) {
this.content = content;
save();
}
public String getContetnt() {
return this.content;
}
private void save() {
storage.save(this);
}
public print() {
printer.print(this);
}
}
class BookStorage {
private SqliteDatabase db;
public void save(Book book) {
// сложная логика по сохранению
}
}
class BookPrinter {
public void print(Book book) {
// сложная логика
}
}
Методы просто делегируют выполнение нужным классам.
Такой вариант нормальный? Или тут тоже нарушение SRP, кроме нарушения OCP?
Исходная версия pozitiffcat, :
Как такой вариант:
class Book {
private String content;
private BookStorage storage;
private BookPrinter printer;
public void setContent(String content) {
this.content = content;
save();
}
public String getContetnt() {
return this.content;
}
private void save() {
storage.save(this);
}
public print() {
printer.print(this);
}
}
class BookStorage {
private SqliteDatabase db;
public void save(Book book) {
// сложная логика по сохранению
}
}
class BookPrinter {
public void print(Book book) {
// сложная логика
}
}
Методы просто делегируют выполнение нужным классам.
Такой вариант нормальный? Или тут тоже нарушение?