| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Как правильно организовать класс |
| Автор: good07 14.7.2011, 20:12 | ||||||||
| здраствуйте. прошу помощи с логикой организации программы. прошу не пинать сильно. Очень много букв. вообщем, ситуация такая. есть n-е количество записей например в базе, у всех записей примерно одинаковая структура полей, и к ним применюятся одинаковые по смыслу действия. но, в зависимости от типа записи, действия различаются по реализации. также в зависимости от типа записи, некоторые действия требуют обязательного заполнения полей, а некоторые поля отпускаются. Поля имеют разный тип. обьясню подробней на абстрактном примере: имя:должность:возраст:телефон:город:зарплата:почта:знает ли Фотошоп для всех имя, должность,город возраст - обязательны. для инженера: обязательны параметры зарплата, почта. сайт, фотошоп - опционально. для дизайнера: почта, фотошоп обязательны, зарплата - опционально для курьера зарплата: опционально, почта обязательно, фотошоп: параметр отсутствует. коля:дизайнер:25:2135476:Москва:500:[email protected]:да вася:инженер:25:1234567:Москва:1000:[email protected]:нет дима:курьер:20:1234567:Москва:400:[email protected]: действие:написать письмо перед этим нужно проверить, все ли поля заполнены, и вернуть незаполненные поля, причем, имена полей и хотелось бы это делать автоматически, не делая обработчик для каждого свойства. количество типов в дальненейшем будет увеличиваться, а количество полей будет больше 50, и потом они тоже будут добавляться. скажу сразу, с классами я раньше не сталкивался, потому все то что ниже, может быть неверно... я предположил, что лучше все вынести в класс. шаблон класса профессий
далее делается класс контроллер, как я его назвал
с этим более-не менее я разобрался, а как проверить заполнены ли нужные property, и узнать необходимые для каждого класса, чтобы, например сгенерить форму для заполнения, вообщем, как организовать всю эту логику по правильному? не заводить же
к тому же поля могут быть разных типов.... Очень жду советов, еще раз прошу не пинайте сильно... |
| Автор: Frees 15.7.2011, 14:54 |
| Попробуй GoF почитать... |