Я должен обеспечить методы доступа / Методы set Метода считывания для общедоступных/защищать компонентов на форме?

Если приложение не установлено, удалите файл .android_secure/smdl2tmpl.asec с SD-карты.

Если папка .android_secure пуста в диспетчере файлов, удалите ее с ПК.

6
задан Willem Van Onsem 8 October 2015 в 00:57
поделиться

4 ответа

"Однако разработчик VS, кажется, не реализует такие Методы считывания/методы set для тех общедоступных объектов, которые являются компонентами на форме (и поэтому не выполняет хорошую практику программирования)".

Если Вы имеете в виду средства управления, Вы перетаскиваете на форму, они отмечены как частные члены экземпляра и добавляются к набору Средств управления формы. Почему они были бы иначе? Форма могла иметь сорок или пятьдесят средств управления, это будет несколько ненужным и громоздким для обеспечения метода считывания/метода set для каждого управления на форме. Разработчик оставляет его до Вас для обеспечения делегированного доступа к определенным средствам управления через общедоступный метод считывания/методы set.

Разработчик делает правильную вещь здесь.

5
ответ дан 10 December 2019 в 00:47
поделиться

Я всегда делаю это, и если бы Вы следуете, метод считывания/методы set создания дизайна MVP для Ваших компонентов представления был бы конструктивными требованиями.

Я не понимаю то, под чем Вы подразумеваете, "не выполняет хорошую практику программирования". Microsoft нарушает много хороших практик программирования, чтобы помочь создать материал на Visual Studio (ради быстрой разработки приложений), и я не вижу отсутствия методов считывания/методов set для средств управления как доказательство нарушения никаких подобных лучших практик.

1
ответ дан 10 December 2019 в 00:47
поделиться

Причиной того, что не были реализованы Методы считывания и Методы set для компонентов на форме, которой я верю, является причина, они не были бы "Ориентированными на многопотоковое исполнение" объектами .NET, предполагают, чтобы быть только измененным потоком формы, который создал их, Если Вы ставите метод считывания и методы set, Вы потенциально открываете его для любого потока. Вместо этого Ваш предполагать для реализации системы делегата, где изменения в этих объектах делегированы к потоку, который создал их и работал туда.

2
ответ дан 10 December 2019 в 00:47
поделиться

Это - классический пример инкапсуляции в объектно-ориентированном дизайне.

Форма является объектом, ответственность которого состоит в том, чтобы представить UI пользователю и принять вход. Интерфейс между Объектом формы и другими областями кода должен быть ориентированным на данные интерфейсом, не интерфейсом, который выставляет внутренние детали реализации Формы. Внутренние работы Формы (т.е., средства управления) должны остаться скрытыми от любого кода потребления.

Сформировавшееся решение, вероятно, включило бы следующие точки дизайна:

  • Открытые методы или свойства являются поведением (шоу, скройтесь, положение) или ориентированный на данные (данные набора, получите данные, обновите данные).
  • Все обработчики событий, реализованные Формой, перенесены в соответствующий код делегации потока для осуществления правил выполнения потока Формы.
  • Сами средства управления были бы с привязкой к данным к базовой структуре данных (в соответствующих случаях) для сокращения кода.

И это даже не упоминает вещи метаразработки как модульные тесты.

2
ответ дан 10 December 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: