Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2013, 16:22   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию Процедуры и функции как метод класса, или...

Добрый день. Есть программа, которая использует потоки (потомок TTread)
Код потока состоит из множества функций и процедур, которые в настоящий момент прописаны как методы класса
и все работает как предначертано.

Для улучшения восприятия кода(и удаления повторов кода Ф и П) в принципе можно вынести процедуры и функции в отдельный модуль
(подключив CoInitialize(nil); код CoUninitialize; с учетом вызова подпрограмм из потоков)

Вопрос: как правильно сделать? оставить подпрограммы методами классса или вынести в отдельный модуль? наверняка есть какието косяки
Pcrepair вне форума Ответить с цитированием
Старый 03.09.2013, 16:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
оставить подпрограммы методами классса или вынести в отдельный модуль?
Если все работает как надо то зачем что-то переделывать?
С точки зрения эстетичности при корректной работе не имеет значения насколько "криво" написана прога, если задачу они решает на 100% эффективно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2013, 20:16   #3
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

вопрос был: наверняка есть какието косяки???

так значит, косяков нет?
просто обложить вызов процедуры CoInitialize(nil); CoUninitialize;(ну там используется АКтивХ и вызов Mlang.dll), а если нет АктивХ то можно обойтить и без(если компиллятор не скажет что нужно)

ту кое кто кое где утверждал идею о том что лучше чтоб все подпрограммы были методами класса

другие же утверждают: неважно где лежит подпрограмма, важно откуда она вызывается, что входит в противоречие с первым высказыванием

кто имеет опыт по этому вопросу?
Pcrepair вне форума Ответить с цитированием
Старый 03.09.2013, 20:49   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

С точки зрения правильности/неправильности работы программы разницы не будет. Противоречий там нет, просто первое утверждение с объектно-ориентированным подходом. При таком подходе можно наследовать класс со всеми его методами (а после перекрывать некоторые методы если нужно и т.д.), удобнее работать с общими для всего класса данными и т.п. То бишь если программа будет развиваться в будущем, то такой подход будет лучше с точки зрения удобства что ли...
Во-втором случае просто другой подход. Тут главное внимательнее смотреть что передаётся в параметрах и куда это возвращается.
eoln вне форума Ответить с цитированием
Старый 03.09.2013, 21:32   #5
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

теперь понятно. спасибо
Pcrepair вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать метод класса, возвращающий объекты (поля класса) разных типов frosich Общие вопросы Delphi 3 01.03.2013 19:29
Экономия памяти. Что лучше: метод класса или процедура с параметрами... или без разницы? 3D Hunter Общие вопросы Delphi 7 26.12.2011 23:23
Как вызывать функции одного или др. класса по определённому спецификатору? GerNick Общие вопросы C/C++ 2 20.12.2010 16:34
Процедуры и функции(Pascal)Метод Гаусса Zimba Помощь студентам 2 21.06.2010 23:36
Метод класса или внешняя функция? с++ ahab Помощь студентам 4 28.11.2009 19:53