116 / 115 / 64
Регистрация: 03.06.2013
Сообщений: 582
1

Инкапсуляция или как правильно отделить логику

11.03.2016, 00:42. Показов 1137. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю проект в WPF(но это не важно). Вопрос таков: может ли класс где обработчики всех событий формы, иметь переменную(другой класс, в котором содержится логика), а потом при загрузке страницы инициализировать эту переменную и использовать в коде. Приведу пример:

Это класс формы и тут он получает переменную типа CurrentWeather ну и потом обращается к свойствам этого класса и заполняет нужные текстовые контролы на форме. Правильно ли это с точки зрения разделения логики? Если делать иначе, то тогда нужно какому то классу передавать в каком-то методе имя контрола, а
это тоже как-то не ахти.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            CurrentWeather currentWeather = CurrentWeather.GetCurrentWeather("Dnipropetrovs'k", "Ukraine");
            city.Content = currentWeather.City;
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2016, 00:42
Ответы с готовыми решениями:

Как правильно отделить логику от вида
Есть таблица в БД состоящая из четырех столбцов н.п. ID SURNAME NAME PHONE 1 Петров Петя ...

Как отделить бизнес логику от UI ?
У меня бизнес логика перемешена с UI. Как отделить бизнес логику в отдельный класс, экземпляр...

Как правильно отделить пакет библиотеки от тестов?
Поделитесь, пожалуйста, опытом: кто как организует проект с тестами? Пока пишу тесты прямо в...

Как правильно переписать логику OnInput?
Здравствуйте. Есть логика в OnInput, нужно оставить первый INPUT и вместо оставшиеся двух инпутов...

3
Master of Orion
Эксперт .NET
6096 / 4952 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.03.2016, 00:45 2
MaxSlim, я бы просто сделал контрол например WeatherControl, и вместо City (это грид или еще что?) просто ставил бы этот контрол. Вообще в программировании редко бывает проблема с малым количеством уровней абстракции, обычно наоборот, непонятно, откуда управление пришло и куда ушло
1
116 / 115 / 64
Регистрация: 03.06.2013
Сообщений: 582
11.03.2016, 01:29  [ТС] 3
Psilon, да, я тоже создал WeatherManager только пока думаю куда его приктнуть. city.Content - это лейбл обычный и их там по форме дофига и больше. ЧТо значит ставили этот контрол, я же не динамически его создаю, он уже имеется на форме, я просто не могу понять в каком месте в коде нужно присваивать свойсвтам контролов, свойства других классов. Я в курсе о привязке и о шаблонах данных, но пока хотелось бы сделать проще.

Добавлено через 11 минут
Psilon, еще вопро не по теме, я уверен вы наверняка сталкивались, можно ли вывести юникод в label? Хочется такую стречоку вывести с кодом \u2b71 , но в результате имею только квадратик(
0
Master of Orion
Эксперт .NET
6096 / 4952 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.03.2016, 10:05 4
MaxSlim, можно, конечно, квадратик будет разве что в консоли. Хотя если лейбл нестандартный, то уже хз

Если City.Content это просто строка, то ничего особо менять не нужно хз. Если бы это была сложная логика, можно было бы вынести в контрол.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2016, 10:05
Помогаю со студенческими работами здесь

Как правильно реализовать логику программы?
Здравствуйте! Хочу реализовать такую логику программы: телефон - стартовая активность А ->...

Symfony 2: как правильно организовать бизнес-логику?
Всем привет! Вот я недавно начал один проект на Symfony 2 и сразу же столкнулся одной проблемой -...

Как правильно составить логику приложения (игра)?
Народ, выручайте советом! Я снова застрял на очередной задаче... Вот текст: Я застрял на...

Игра "Лабиринт". Отделить логику от интерфейса
Привет всем, извините за возможно глупый вопрос, но что значит отделить логику от интерфейса. Пишу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru