|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Здравствуйте. Я использую в работе FoxPro последние лет 14. Многие скажут: "Ого!" Ого то оно ого, но одновременно с преимуществом такого стажа ощущаю и его недостаток. Ведь большую часть этого периода я посвятил работе с досовскими версиями, а это сформировало определенны стереотип мышления при подходе к решению любой задачи. Уже несколько лет пользуюсь Visual FoxPro, но, признаюсь, так и не научился оперировать объектами, все по старинке. Как научиться использовать ООП ? Может обратиться к "правильной" литературе ? Вроде бы понимаю что такое объекты, как их удобно использовать. Но когда доходит дело до конкретного решения опять преобладают старые догмы. Посоветуйте что нибудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 10:57 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Столкнулся с аналогичной проблемой 10 лет назад... Потратил 2 года на переход - пока не жалею, хотя особого перимущества не вижу - то ради чего создавали ООП - повторное использование объектов в реальной жизни удается использовать редко... Посмотрите поиск - мы тут уже обсуждали этот вопрос - ключевое слово для поиска UML... И запаситсь терпением - через 5 лет MS обещал, что ООП уйдет в прошлое Good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 11:15 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Reznichenko Y.V.Как научиться использовать ООП ? Я бы сказал, никак Дело тут как раз в том, что является достоинством FoxPro: Политике обратной совместимости. Т.е. практически все старые команды DOS-версий FoxPro будут работать в более поздних версиях. Следовательно, очень трудно бороться с искушением использовать старые подходы - работают же! С моей точки зрения, проще всего было бы паралельно изучить какой-нибудь ООП язык программирования совсем не связанный с FoxPro. Ну, например, Delphi. В этом случае у тебя просто не будет возможности поддаться искушению использовать старый процедурный подход программирования. Ты вынужден будешь пользоваться идеологией ООП. А далее используя новый навык, приобретенный в Delphi можно будет понять, в чем же недостатки старого процедурного стиля программирования. Ну, и кругозор заодно расширишь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 11:48 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Спасибо за мнения и советы. Хотя изучать что-то новое (Delphi) зная, что можешь это реализовать с помощью старого (FoxPro) тоже задача не из легких. Но как говорится: "Без труда ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 12:43 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Почитайте Г.Буча "Объектно-ориентированный анализ" . В интернете есть точно. Сразу все станет ясно... Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 12:44 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
2Crip И все базовые классы тоже свои, именно потому же ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 14:18 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Я тоже толи 14, толи 15, помню свою первую поделку на vfp3 - особенно когда не понимал что как внутри работает, особенно Grid. Теперь-то смешно, а вот тогда было не до смеха. В общей сложности потратил около 3 лет, что бы все встало на свои места, да еще спросить было не у кого. Так что, считаю, оно все равно надо потратить время, не взирая на то что там готовит MS. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 14:21 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Crip Я лично пишу классы на все случаи жизни... Я от этого уже отказался - слишком быстро меняется FoxPro То что ты с таким трудом разрабатывал вчера - сегодня это уже включено в базовый класс... Жизнь странная штука Good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 14:23 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
У меня такая же проблема. Опускаются руки(я работала на Clippere DOs). Очень трудно. Тоже задала подобный вопрос. Хотелось бы какую то литературу, или пример программы элементарной. Ладно, успехов вам! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 15:28 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Литература? Прежде книга Леса Пинтера про програмирование на Visual FoxPro 3.0 ___________________ Всё вышеизложенное есть моё частное мнение и не претендует на полноту изложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 16:06 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
НовичекМУ меня такая же проблема. Опускаются руки(я работала на Clippere DOs). Очень трудно. Тоже задала подобный вопрос. Хотелось бы какую то литературу, или пример программы элементарной. Ладно, успехов вам! В свое время читал об ООП в VFP в книге "Использование Visual FoxPro 6.0" М.Базияна. Написано доступно, но не отвечает на вопрос топика. Может Вам поможет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 16:23 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Категорически согласен с Reznichenko Y.V. - действительно толковая книга. Дороговатая правда, но я только благодаря ей и смог перейти с DOS-Fox'а на VFP. Кроме того, после этой книги все последующие версии VFP воспринимаются уже без помощи других учебников. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 22:40 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
не знаю о чем вы. програмить я учился сам. разбирая проги по частям (как и все другое в жизни) - самое простое средство ... Сам же ФоксПРо идет с кучей образцов програмок (Samples) (их так же можно загрузить с мелкософта)... просто их поставь и запускай каждую в дебаггере .. шаг за шагом узнавай что происходит, читая доку по незнакомым командам и методам. процесс медленный, но я считаю чем больше чувст задействанно в процессе, тем более плотно инфа в башке укладываеться :) хоть я и не спец, но считай с веб програмера на фокс програмера за 6 мес пережел без срыва нервной системы. Даже работодатель не заподозрил что я чайник был. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2004, 01:17 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Sergey Ch...особого перимущества не вижу - то ради чего создавали ООП - повторное использование объектов в реальной жизни удается использовать редко... Классы создаваемые для одной предметной области (модели), совершенно не подходят для другой (обойдемся без метамодели). Но в рамках системы это утвердение довольно странно, ведь мы их используем где только возможно, ну скажем, элементы интерфейса. Так и в рамках одной модели мы пользуемся ими, потомучто они имеют связи и взаимодействуют при помощи сообщений. Если объект не имеет связи или не взаимодействует с другими объектами, или класс не входит в иерархию классов и не имеет методов, то, спрашивается, зачем городить огород. На лицо явное не понимание практического применения ООП. А то, что объект не используется другими еще не говорит о ущербности ООП. Мне странно слышать это утверждение от человека, потратившего 2 года на изучение ООП, значит нужно потратить еще 2 года. Я в FoxPro, можно сказать новичек(знал только 2.5 и 3, это было давно), но в быстроте и качестве написания кода уже имею приемущества перед коллегами. Еще бы хотелось бы увидеть шаблоны и множественное наследование в FoxPro. Sergey Ch... И запаситсь терпением - через 5 лет MS обещал, что ООП уйдет в прошлое Это что еще за новость? А что в замен ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2004, 11:21 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Почитайте " Паттерны проектирования...." Э.Гаммы. Посмотрите как сам VFP(сам engine) использует эти паттерны. Скажем, обработка ошибок и паттерн Chain of Responsibility. Подумайте, где можно применять паттерны для решения Ваших задач ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2004, 18:20 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
To Satvic: Конечно, самостоятельное освоение - более прочное, но если под рукой такой толковый учебник, то сей процесс весьма ускоряется. Я вообще имел в виду руководство М.Базияна не как альтернативу, а как хорошее подспорье для изучения материала. Но ООП там действительно описано вскользь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2004, 21:56 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Мда. Знакомо. Когда-то я также писал прикладные задачи на X-Base языках. Помню Clipper Summer'87 и DBaseIII+, позже FoxPro. Спасло может быть то, что приходилось писать параллельно различные системные задачи на C++. Где-то году в 98-м я окончательно плюнул на VisualFoxPro, как на среду разработки(тогда уже была VFP6). Тогда Microsoft позиционировал для прикладных задач, распределенных приложений и баз данных связку VB6+MSSQL, собственно на которые я и перешел, позже обратившись к VB.NET и C#. Собственно, если есть такая возможность - уходите со среды VFP и новые задачи начинайте на C#, походу научитесь мыслить категориями ООП :) Да и самый перспективный нынче язык, с точки зрения трудоустройства. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 10:52 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
OOPer Это что еще за новость? А что в замен Уже не помню, как MS назвал этот будущий подход, Sorry. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 10:55 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
FlareДа и самый перспективный нынче язык, с точки зрения трудоустройства. Тут Вы не правы - самый перспективный на сегодняшний день - Cobol ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 10:57 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Не вижу никакой разницы в коде написанном ДЛЯ БИЗНЕС ПРИЛОЖЕНИЯ на FoxPro, VB или С . Сегодня писал на С, завтра - на FoxPro, после завтра - еще на чем-нибудь. Алгоритмы одинаковые, уровень доступа к БД одинаков, ну все одинаковое - синтаксис разный - сути не меняет. НО ЧТО ИХ(КОДЫ) делает разными, так это подход к МОДЕЛИРОВАНИЮ данных в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 14:06 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Кстати, вот этот топик: http://www.sql.ru/forum/actualthread.aspx?tid=85194&hl=uml а самая лучшая книга по ООП для Visual FoxPro - Advanced Object Oriented Programming with Visual FoxPro 6.0 by Markus Egger... Good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 23:06 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
OOPerНе вижу никакой разницы в коде написанном ДЛЯ БИЗНЕС ПРИЛОЖЕНИЯ на FoxPro, VB или С . Сегодня писал на С, завтра - на FoxPro, после завтра - еще на чем-нибудь. Алгоритмы одинаковые, уровень доступа к БД одинаков, ну все одинаковое - синтаксис разный - сути не меняет. НО ЧТО ИХ(КОДЫ) делает разными, так это подход к МОДЕЛИРОВАНИЮ данных в приложении. Да, кстати в приведенной мною выше книге Marcus как рассматривает преимущества VFP при разработке прграмм с использованием ООП перед другими языками программирования, но для чистоты стоит отметить, что тогда еще не было .NET и VFP - очень старая версия 6.0... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2004, 11:02 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Sergey Ch, читая Ваше сообщение из прошлого, в настоящем появляется улыбка ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2015, 17:15 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Некрофилы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2015, 17:44 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
vklepkoПосмотрите как сам VFP(сам engine) использует эти паттерны. Первое время когда использовал "ручное" кодирование, то в качестве pattern использовал ранее разработанный и отлаженный код. Т.е. к примеру имеем код prg в котором производится формирование отчета скажем с тремя уровнями вложенности итогов. Возникает необходимость в написании нового, то берем код "подходящего" отчета и доводим его до "кондиции". Все крайне просто. Но много времени тратилось на изменение содержимого "подходящего" pattern. Пришел момент когда понял, что хорошо бы избавиться от этой рутины и разработал генератор отчетов, который по существу на основе meta данных отчета генерировал исходный код *.prg, который и был по существу кодом, который бы мне пришлось делать в ручную. Скажу, что этот подход позволил мне без проблем разработать по крайней мере 3 отчета. И самое главное их не нужно было отлаживать, так как генератор на 100% давал правильный код *.prg. Был также генератор форм, который также сэкономил много времени. Да были конечно стандартные designers Foxpro, но в них многое нужно было делать "руками" ... К примеру в моем генераторе можно было просто взять графы из каких-то других отчетов и задействовать в разрабатываемом. Этот механизм также был использованы по отношению к break /итоговые строки/ ... ... ... Даже был создан механизм parsing текста "чужого" отчета. То бишь он парсил текст сформированного отчета и результатом его были готовые meta данные. Вообщем такой поход экономил до 70% времени ... "Ну вы понимаете как мне в таких условиях легко работалось ..." PS: И еще об технологиях WWW. С HTML, CSS, PHP, JavaScript, Perl, и многими другими технологиями дружу давно ... Так вот всегда когда на habrahabr встречаю статьи об "замечательных" frameworks не покидает ощущение, что имею дело с глубоко больными людьми ... /впрочем "имеются и другие мнения ..."/ Что-то пишут, спорят, улучшают ... Казалось бы это все хорошо ... Но вот возьмем к примеру http://nodejs.org/ к нему разработаны сотни plugins. То же можно сказать о других frameworks. И представьте себе код, который будет использовать эти framaworks и с десяток plugins к ним. На мой взгляд такой код уже "мертв" не успев "родиться" ... Чего на мой взгляд не хватает в VSF /могу и ошибаться, так как вообщем то не слежу за тем, что там к нему на ваяли/. А вот чего - подхода подобного 1С. Т.е. набора прикладных объектов /Счет, ПланСчетов, БухгалтерскиеИтоги, .../, которые можно было бы использовать по аналогии с 1С. Это была бы не не а-ля 1С, а набор прикладных объектов, который бы много упростил разработку подсистем бухгалтерского учета. Понятно, что такой же подход можно было использовать и для других видов задач. На VSF это все прекрасно можно было бы реализовать /может быть даже часть объектов разработать с использование OLE objects/. Про себя скажу не когда не считал себя ни 1С-ом, Foxpro-ом ... По большей части разработку веду с использованием Visual Studio /C++/. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2015, 19:00 |
|
|
start [/forum/topic.php?fid=41&msg=32638442&tid=1582438]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 168ms |
0 / 0 |