powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Аналог общей процедуры.
13 сообщений из 13, страница 1 из 1
Аналог общей процедуры.
    #40131248
tavr2022
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго.
Я уже понял что в C# полное ОПП, и все на классах.
Например надо реализовать общую процедуру. Доступную из разных мест.
Ну пусть, получить число 1 и число 2, сложить и вернуть сумму.
Класс я сделал.
Метод нарисовал.
Но чтобы это заработало, мне надо создать объект, обратится в своему методу, получить чего надо, и потом прибить его.
Как-то не красиво.
Что я сделал неправильно?
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131251
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читай про static методы https://habr.com/ru/post/206082/
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131255
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть только 1 путь и это следование парадигме ООП.
суть ООП в том, что есть объект который хранит в себе какое то состояние. он описывает какой то объект, допустим камень по каким то метрикам. Объем, вес, плотность и т.д. И есть другой объект, который умеет складывать эти 2 объекта. При этом объект который складывает может быть какой угодно, но он должен выполняет требования контракта на эту операцию складывание и наследовать нужный интерфейс с необходимым для этого методом.
в том, чтоб инстанцировать объект нет никаких проблем и в 99% стоит слишком дешево, даже если инстанцировать его каждый раз, при необходимости, а еще лучше получить его через инверсию управления.
Статические методы это путь к монолитности, чрезвычайной связанности всех процессов в твоей системе, где этот статический метод применяется. Статический метод существует для совершения каких то простейших примитивных или не очень алгоритмов.
Конечно, для сложения 2ух векторов, лепить выше описанное не имеет смысла, но для бизнес объектов он не подходит.
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131272
tavr2022
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну где-то и когда-то мне это объект мне надо создать.
Вот к примеру.
Какие-то настройки программы, Мне их надо считать раз при запуске программы, и держать и выдавать по требованию.
Или вот по сложней пример. Работа с БД.
Это тогда надо некий класс, которому я кидаю данные и он пишет их в базу. А для этого нужно подключение к БД постоянно открытое.
То бишь нужны объекты которые живут на всем протяжении программ.
Как их правильно делать?
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131279
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tavr2022
Это тогда надо некий класс, которому я кидаю данные и он пишет их в базу. А для этого нужно подключение к БД постоянно открытое.


вот не нужно так делать. используйте пулл соединений и открывайте доступное соединение для выполнения и после получения результата сразу закрывайте. и используйте DI
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131285
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131286
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут, правда, про ASP, но суть та же.

Как подключить это к WinForms недавно обсуждали здесь
https://www.sql.ru/forum/1341845/podkluchenie-k-bd-i-konfiguraciya-windows-forms-net6
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131320
tavr2022
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One
tavr2022
Это тогда надо некий класс, которому я кидаю данные и он пишет их в базу. А для этого нужно подключение к БД постоянно открытое.


вот не нужно так делать. используйте пулл соединений и открывайте доступное соединение для выполнения и после получения результата сразу закрывайте. и используйте DI


То ли я тупой, то ли не везет мне с литературой, либо азы описаны, либо в такие дебри ускакивают, что только знакомывые слова вижу.

Вот все понял что написано. А с какого бока куснуть даже не догадываюсь.
Мне где примерчик глянуть. Я еще только учусь сову на глобус натягивать.
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131322
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты бы определился что надо
tavr2022
Ну пусть, получить число 1 и число 2, сложить и вернуть сумму.

или с БД работать?

Про первое я написал 22429102 , второе - выбирай фрэймворк Entity Framework или что полегковесней . В основе всего лежит ADO.NET
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131325
tavr2022
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

А дальше у меня среднее. Сложнее чем 2+2.
Но БД тоже будет.

Надо с десяток различных функций или процедур различных проверок. Математика там всякая. Бизнес-логика типа как по-научному должна быть отделена от интерфейса.
Да хотя вот простое. Надо десяток констант, которые будут считаны из файла например при старте программы, и нужны они везде.
Не конечно можно сделать класс статический, но мне как-то не нравится, не хорошо это как по мне.
Можно класс с константами вызвать из класса основной формы, форма то стартует и держится до конца работы приложения.
Но в учебниках пишут не надо так делать.

А с БД тоже сначала надо без фремворков поработать. А то так дураком и помру. Они там все попрячут от меня. я так вообще ничего не пойму тогда.
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131329
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tavr2022
Не конечно можно сделать класс статический, но мне как-то не нравится, не хорошо это как по мне.

Если тут вопрос фэншуя, то сам ищи идеальное решение. А так статика как раз для таких целей, а то что пишут что не рекомендуется, то это из-за того что злоупотребляют этим и не по назначению используют.

tavr2022
А с БД тоже сначала надо без фремворков поработать. А то так дураком и помру. Они там все попрячут от меня. я так вообще ничего не пойму тогда.

Фрэймворки чтоб дураком не помереть придумали, убить могут если кривым SQL-запросом случайно базу похеришь
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131331
tavr2022
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

Это вопрос как говорят бэст-практик, все умные пишут что статика только в поделках студентов для курсовых, тру программист без статики код пишет.
Так что если аккуратно то можно? А лучше как целиком класс в статике или только методы?

БД пока моя, у меня если чего бекап есть. Фреймворки иногда такие запросы генерируют что сервера падают, тоже не идеальное решение.
...
Рейтинг: 0 / 0
Аналог общей процедуры.
    #40131337
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tavr2022
Dima T,

Это вопрос как говорят бэст-практик, все умные пишут что статика только в поделках студентов для курсовых, тру программист без статики код пишет.
Так что если аккуратно то можно? А лучше как целиком класс в статике или только методы?

Зачем-то статики сделали? Было бы сплошное зло, то убрали бы. В общем случае это надо использовать по минимуму. Если у тебя десяток констант, которые ты в начале работы читаешь и потом пользуешь, то лучше их закэшировать в статик переменные, чем каждый раз читать из конфига. В идеале извне к ним должен быть доступ только для чтения.

По сути это глобальные переменные со всеми их болячками, главная из которых - где-то, какой-то код ее поменяет и вся прога встает колом. Решение тут простое: ограничивать область видимости и ограничивать доступ на запись, но если действительно нужна глобальная видимость то надо делать глобальную переменную.

tavr2022
БД пока моя, у меня если чего бекап есть. Фреймворки иногда такие запросы генерируют что сервера падают, тоже не идеальное решение.

Есть литература как правильно использовать фрэймворк, наверно надо просто почитать.

И толку от бэкапа если ты случайно накосячил и удалил вместо одной записи десяток-другой? В это время база продолжает работать, туда пишут новое, пока спохватишься откатываться поздно будет. Но если уверен в своих знаниях SQL, то можешь пробовать.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Аналог общей процедуры.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (11): Анонимы (8), Yandex Bot, Bing Bot 3 мин., CerebroSQL 4 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]