Що таке FrameWork – зруб-остов

Володимир Журавльов, Visual
Foxpro Club

Все нове-добре забуте старе.
Що було, то знову буде.
Ніщо не нове під місяцем "…

Наші друзі за кордоном – великі майстри придумувати новенькі слівця і
поняття. Кожного разу після такого новенького словечка виникає якийсь шум,
але потім, частіше за все кудись розсмоктується. Ось і FrameWork.

Кожен, хто попрацював з Foxpro побільше рочки і зробив більше одного проекту
вільно чи мимоволі, знаючи або не знаючи, використовує цей самий зруб або остов.
По суті – це метод побудов програми, який дозволяє прискорити їх виготовлення.

Ось написали Ви перший проект, довго корпіли з класами, формами та інше.
Дещо й не знадобилося, щось пройшло як НДР, заради власної цікавості.
Ось наступний проект. Який би він не був, як би не був різний замовник, щось
та візьмеш з попередньої розробки. Поступово у кожного програміста напрацьовується
свій конструктор. Все це схоже на великопанельне або монолітно-бетонне житлове будівництво.
Ставлять каркас і швидко обкладають його плитами або цеглою. Деякі програмісти
йдуть далі і пишуть додаток, що дозволяє автоматизувати діставання потрібних
деталей з конструктора.

Наприклад, якщо з DataEnvironment на форму потягти полі, до нього приєднатися
потрібний ControlSource, якщо всю таблицю-з'явитися Grid c потрібним RecordSource.

Я б виділив три групи кістяків:

Перший нам дає Microsoft з 6-ої версії. Там є базовий проект з базовими
ж класами. Там-то і знайдете клас _frammewk. Якщо його взяти для своєї роботи
– Багато толку не буде. Проект слабо документований, деякі речі працюють
дико. Наприклад, таймер вічно щось виробляє, що його ніхто не просив робити.
Особливо дивний він веде у приватній сесії даних. Вічно перебиває Ваші установки.
Тим не менше цей проект дуже корисний, як навчальний матеріал, щоб за його
зразком підібрати свій конструктор.

Другий тип майже не відомий в нашій країні. Це готові, написані на Foxpro-ж,
конструктори. Їх не менше 10 штук. Наприклад, FOXEXPRESS, FOXFIRE. Є спеціальні
, Заточені під їх західну бухгалтерію конструктори на зразок Fox Account та інше
та інше … Вони хороші тим, що зовнішній вигляд створюваних з ними форм дуже професійний.
Основні труднощі при роботі з ними, як зробити що-то не за стандартом. Коштують
такі конструктори порівнянно з самим Foxpro і добре захищені. У нас в країні
дорогі замовники або багато замовлень зустрічаються рідко. А для виконання одного
дрібного замовлення їх купівля, як правило, нерентабельна. Якщо там у них наймають
програміста на роботу не з самим Foxpro, а з таким конструктором, робота, як
правило, оплачується дешевше. Вважається, що програміст повинен освоїти тільки
роботу з конструктором і працювати там, як мавпа. Деякий дослідження
показує, що насправді справа йде не зовсім так. Виявляється, що
програміст працює з таким конструктором вічно натикається на якісь недоробки.
Зарубіжні Foxpro-сайти завалені сотнями питань, про те, як зробити якусь
небудь дріб'язкову річ у FOXFIRE, типу бажаного поведінки комбобоксах.

Нарешті, третій тип, це наші з вами саморобні заготовки. У них я б виділив
наступну основну Ділл. Як далеко заходити в процесі автоматизації та деталізації
конструктора і наскільки вільними залишити собі руки для ручної роботи? Чим
універсальніше конструктор – тим швидше робиш проект. Але тим важче робити
маленькі відхилення від стандартної методики. Дійсно, якщо автомат вже
занадто розумний, він починає жити своїм життям і не дає просто так в неї втручатися.
У нас у фірмі було дві спроби піти від стандартного розробленого набору типових
класів до автоматизації розробки на базі цих класів. Особливо хотілося це
зробити для універсальної розробки файл-сервер, клієнт сервер. Ну дійсно,
прості клієнт-серверні форми робилися за кілька хвилин. Особливе враження
це завжди справляє на начальство. У нього виникає ілюзія, що всю роботу
вони можуть зробити самі, просто рухаючи по екрану мишею і ставлячи потрібні кубики
в потрібне місце. Але як тільки на форми, побудові автоматом, потрібно було додати
який-небудь перемикач, начебто комбобоксах або оптіонгруп або яку або дрібниця,
тут починалася кривава бійня, як схрестити коня і трепетну лань – код, зроблений
автоматом і свій. Ой не завжди це виходило зробити, а якщо і виходило, то результуючий
код був кривий, як ніколи і схожий на спроби барона Мюнхаузена витягнути себе
за волосся на місяць.

Так що, звичайно – "Хай живе автоматизація процесу розробки", але
існують ще об'єктивні причини, за що програмістам ще можна платити зарплату,
і при наявності автомата. Адже пиріжок з вулиці від автомата не порівняєш з домашньою
випічкою. Ширвжиток повинен поєднуватися з ручними гобеленами.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*