Последние комментарии

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


Гость

Если вы и дальше будете писать лишь о посещаемости сайта а не об интересных вещах которые желают прочесть эти 400 человек, то количество посещений будет только уменьшаться)


Tapok

Ну, раз на то пошло, не всегда получается сидеть за ПК, поэтому захожу на вашу страничку с opera MINI, страница некорректно отображается(


Khusman

Думал, что может так оно и задумано..,


Михаил Фленов

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

Ты приводишь правильный пример обработчика, но не понял, как у тебя класс Tester знает о форме? Обери эту связь. Если тебе нужно, чтобы на форме отображались какие-то данные от результата работы класса Tester, то перенос информации на форму делай в классе формы.


Voprositel

Спасибо за ответ! Но хочу уточнить, так как в вашем сообщении не увидел ответа на мой вопрос.
-------------------------------------------------------
При создании программ я делаю примерно так:
1. Создаю интерфейс
2. Создаю новый юнит, а в нем класс (в котором логика)
3. Открываю cpp файл формы и подключаю к нему (include) h файл моего класса с логикой, чтобы в cpp файле формы можно было создать экземпляр (объект) класса с логикой.
4. Открываю cpp файл класса с логикой и подключаю к нему h файл формы, для того, что бы класс с логикой имел доступ к форме.

Потом просто в обработчиках событий формы вызываю методы класса. Когда я писал Тестер, у меня в обработчиках событий было в общей суме 6 строк (вызовы методов объекта Тестер).
------------------------------------------------------
Я все правильно делаю? Правильно ли, что объект Тестер обращается к элементам формы?

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

void __fastcall TMainForm::NextButtonClick(TObject *Sender)
{
tester.SledyuschiyTest();
}

И метод "SledyuschiyTest()" занимается загрузкой следующего теста, выводом его на форму и т.п.

Это правильная архитектура?


Михаил Фленов

Да, в твоей форме не должно быть никакой логики. В форме может создаваться класс, который будет реализовывать логику и ее вызывать.


Михаил Фленов

А что сложного разбираться в браузере? Там мне нужно только меню закладок, строка ввода адреса и кнопки вперед и назад. Интерфейс настолько примитивен, что там привыкать не к чему. Я уже сто раз писал, что в Linux использую Firefox, а на MacBook использовал Safari.


Ustas

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


Ustas

Мне лень скачивать что-то и устанавливать. Стандартный Internet Explorer меня вполне устраивает.

Лень скачивать? Да вам просто не хочется разбираться с новой программой. Зачем, когда есть IE, в котором уже ориентируетесь с закрытыми глазами, и все так привычно, что и к недостаткам уже привык.

Или я один сижу в IE?

На этом блоге - наверное да. И не смотря на все ошибки и неудобства ИЕ, которые описаны только на блоге, вы продолжаете терпеть и пользоваться им, и жаль, что нет способа убедить вас попробовать что-то иное(это вообще невыполнимо)..


Ustas

Михаил
Научите жену пользоваться KeePass и забытые пороли уйдут в прошлое.
http://keepass.info/

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


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне