Я хочу реорганизовать некоторый код.Рефакторинг формы государственного образца?
В основном код, который я хочу, чтобы реорганизовать это форма (с использованием System.Windows.Forms;)
так, как это установка в настоящее время, в зависимости от того, какой кнопки радио вы выбрали это показывает другое расположение для окна: разные ярлыки, кнопки и т. д. Не всегда большая разница, но разные. Это много условных высказываний по всему месту. Я хотел вместо этого реорганизовать его с помощью шаблона штата. Существует три основных состояния.
Я не уверен, что это лучший способ. В настоящее время интерфейс IState имеет метод DoAction(), который выполняет некоторые действия, специфичные для уникального состояния, и метод DrawForm(), который повторно рисует форму на основе текущего состояния ... Однако, чтобы сделать DrawForm(), классы состояний должны иметь доступ к переменным-членам формы. Вот что бросило меня за петлю. Я действительно не хотел их раскрывать.
Есть ли лучший способ сделать это?
Из того, что я знаю о шаблоне состояния, DID требует, чтобы эти конкретные классы состояний имели доступ к «контексту» (форма в вашем случае). Похоже, что доступ к этим переменным-членам неизбежно. – xandy
Спасибо, я должен был дать вашему комментарию некоторую любовь, потому что нет ни одного ответа, чтобы поддержать, lol. –