Запретить модифицировать класс из вне

Есть класс A. Хочу, чтобы этот класс А мог быть модифирован только через класс, который реализует интерфейс B. Вынести логику в отдельный класс грубо говоря.

Ну типа вот так:

B.Modify(A)

Но тут возникает проблема с доступом к приватным сеттерам полям.

Есть так же мысля, делать так:

var a = new A(B);
a.Modyfy();

Т.е внутрь передавать зависимость, а сам класс делегирует рассчеты реализации интерфейсу.

Как вообще лучше и какие варианты еще есть?

Говоря простым языком:

Сейчас у меня в проекте есть мега-класс, где очень много логики. Хотелось бы его отрефакторить в несколько присестов. Допустим, данные в начале я не трогаю, но выношу методы в разные сущности. Затем уже, смотря на то, что получилось, возможно, разобью класс и по данным.


Ответы (0 шт):