TO JS Продолжаем разговор ? | |
---|---|
JellFish Автор |
Цитата: Наверное мы друг друга не поняли. Я имел ввиду делать следующее. Привожу пример программы.
Здесь в начале приложения я запускаю форму DO FORM engine.scx NAME w_engine LINKED А далее во всех методах пишу только вызов функции. А не ее саму. А ее текст пишу в PRG. Вот и весь принцип. Который считаю самым правильным. Так как меня так учили еще с 2.6 |
Re: TO JS Продолжаем разговор ? | |
---|---|
Владимир Максимов Сообщений: 14095 Откуда: Москва Дата регистрации: 02.09.2000 |
Э-э... Как бы, такой стиль хорош в процедурном программировании. Понятно, почему тебя так учили - FP2x и есть процедурный язык.
Но Visual FoxPro какой-никакой, но Объектно-Ориентированный язык. Здесь просто оперируют другими понятиями. По другому "мозги повернуты". Если возникает некий кусок общего кода (т.е. некий код, который без изменения кочует из метода в метод), то обычно делается не процедура, а метод класса (пусть на базе Custom). Причем класс - это уже конечная стадия. Сначала этот кусок проходит стадию метода в текущей форме. Хотя результат получается аналогичный: выделение общего куска кода в отдельную процедуру (только эта процедура назвается методом или событием) |
Re: TO JS Продолжаем разговор ? | |
---|---|
Jellfish |
Но я не говорил что я не использую VCX. Я только показал что код методов форм я храню в отдельном PRG, что и представил.
|
Re: TO JS Продолжаем разговор ? | |
---|---|
Владимир Максимов Сообщений: 14095 Откуда: Москва Дата регистрации: 02.09.2000 |
Когда я только переходил на VFP из FPD у меня стояла та же проблема: что использовать - набор PRG или VCX ?
В конце концов я выбрал именно VCX по следующим соображениям: 1) Классы легче управляемы. Например, я стараюсь "убирать за собой" в том смысле, что если объект уже не нужен его надо удалить. С классом это проделать элементарно. А вот выгрузить процедурный файл - это проблема 2) У меня есть набор процедур по работе с древовидными структурами. В базе данных есть много таблиц древовидной структуры. Значит одним из параметров в этих процедурах необходимо указать имя таблицы с которой необходимо работать. Однако если оформить эти процедуры как методы одого класса, то в этот класс можно ввести проперти, в которые и записывать имя таблиц. Уменьшается количество параметров и необходимых проверок |
Re: TO JS Продолжаем разговор ? | |
---|---|
Vladimir Knyr |
Прошу прощения за бесцеремонное вмешательство.
ПРЕДУПРЕЖДАЮ !ни кого и не в чем не осуждаю просто тоже мыслями поделюсь. Всем известна поговорка "Все свое ношу с собой" И может быть не всем "Программа должна обслуживать сама себя" Так вот, когда были лишь процедуры, то чтобы легче было переносить код придумали модули и библиотеки с набором процедур и функция, касающихся решения определенного класса задач. ООП - это уже новая, более универсальная форма, выше упомянутой стратегии. с более мощными и удобными средствами разработки и управления. Поэтому делать как умешь это хорошо, тем более когда уже хороший багаж наработок имеется, но все же ООП, гораздо красивее и элегантнее, простого процедурного программирования, хотя его совсем уж забывать ну ни как не стоит Это как ДАНИСИМО от ДАНОН "Попробовав раз, ем и сейчас !" |
Re: TO JS Продолжаем разговор ? | |
---|---|
jellfish |
что использовать - набор PRG или VCX ?
А никто и не говорил что VCX это хуже PRG. Я так же как и Вы использую VCX. Например у меня в классах содержатся наработки по своему combobox. своему вводу ФИО своему вводу адреса и еще очень много компонент но самым главным является то что я сразу переписал в классы все используемые объекты - и не мучаюсь с их настройками. Но я наряду с VCX использую и PRG в котором у меня хранятся процедуры. Например: Перевести курсор в таблице в нужную позицию Перевести дату в строку (русскими словами) Послать сообщение пользователю И т.д. Не предлагаете же Вы скинуть все это в визуальные классы? Или я Вас не понял. Но мне кажется мы уходим от темы ... |
Re: TO JS Продолжаем разговор ? | |
---|---|
jellfish |
Цитата: Но делаю то я так не потому что мне так хочется. А потому что так удобнее, на мой взгляд. Например я могу вызвать любую форму с параметром (как процедуру) и она мне вернет значение (как функция) при этом затратив минимум усилий. ;) |
Re: TO JS Продолжаем разговор ? | |
---|---|
Vladimir Knyr |
И это абсолютно правильное использование формы.
Ведь эта возможность и есть одно из преимушест VFP И ООП. Просто при переходе с процедурного стиля на стиль ООП силу имеет привычка. И совсем нельзя забывать про процедуры. Просто если это задача цифру обозвать словом - то однозначно это функция, а вот механизм: Assign_method & Access method и события делают объект живым. Хотя, если говорить в общем, то все таки концепция ООП подразумевает конечно же использование классов объектов, а не процедур. Просто изначально FOX не был объектным языком. |
Re: TO JS Продолжаем разговор ? | |
---|---|
D_Segrey Сообщений: 127 Откуда: Киев Дата регистрации: 23.11.2001 |
Когда-то в основной конференции было подобное обсуждение
после которого в каждом проекте подключаю две процедуры: одна - общая для всех проектов (сумма в строку и т.п.) другая - бизнес логика данного проекта (солянка из процедур и невизуальных классов) а VCXы - само собой на своем месте |
Re: TO JS Продолжаем разговор ? | |
---|---|
JS Сообщений: 12264 Откуда: Эстония Дата регистрации: 04.09.2000 |
И никто не предупредил, а я не заглядывал.
Сегодня уже поздно - завтра продолжим... |
© 2000-2024 Fox Club  |