|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Владимир2012Скажу, что этот подход позволил мне без проблем разработать по крайней мере 3 отчета. Пардон. Уточнение - "по крайней мере 3 отчета за пол дня ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2015, 19:03 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Reznichenko Y.V., Дело в том, что ООП НЕ исключает обычный процедурный подход программирования, а является развитием и расширением этого подхода. ООП это прежде всего Логическое и Смысловое деление задачи на составные кубики для упрощения работы с ними. Предположим у вас есть кубики, которые часто используются и что особенно важно - частенько Модифицируются . Вы можете их выделить в отдельный класс, для упрощения работы с этими кубиками. Из личного опыта могу сказать, что практически все задачи разные, именно поэтому вам так редко доводилось выделять классы, и поэтому я вас прекрасно понимаю. Но встречаются такие одинаковые кубики, которые используются во многих ваших задачах. Тогда есть смысл выделить их в отдельный класс и не стесняться юзать в разных проектах. Эти Общие кубики целесообразно хранить в отдельной папке. Она будет как бы общая для всех ваших проектов. Достаточно перекомпилить какой то проект и изменение сделанное в классе пойдёт во все проекты автоматом. Есть и крупные кубики - например форма ввода накладной, которую можно тоже оформить как класс и юзать её в разных проектах. Но опять таки - это прежде всего Логическое и Смысловое деление задачи на составные популярные для ваших задач кубики. Вот например мой простенький, приятный на вид календарик. Пример класса: Выглядит так: Он работает по принципу выпадающего списка, с возможностью прокрутки колёсиком мыши. Никаких лишних движений. - только колёсико мышки и выбор даты. Никаких ActiveX не требуется. Класс mycalendar, Объекты, Свойства и Методы: 1. Как создать объект? Просто перетащите мышкой объект calendar из класса mycalendar на форму. 2. calendar.date.ControlSource=... - задайте источник данных для вложенного объекта .date. внутри контейнера календаря. В качестве источник данных можно задать переменную или поле базы данных. Если источник не задан, тогда calendar.date.value равно текущей дате. 3. calendar.метод - можно ввести любой набор команд для выполнения. Метод будет срабатывать при выборе даты из календарика. История изменений: 09.01.2013 Добавилась прокрутка и смена года в календаре. 15.01.2013 Добавилась прокрутка календаря в свёрнутом виде. Дату, Месяц, Год можно теперь прокручивать по отдельности в свёрнутом и развёрнутом виде календаря. Если держать нажатой клавишу Ctrl, тогда прокручивать год можно с шагом по 10 лет. 23.01.2013 Добавилось свойство calendar.direction - оно может принимать значения .F. и .T. (По умолчанию .F.) При установке этого свойства в .T. прокрутка всех элементов календаря будет производиться в противоположном направлении, т.е. "наоборот". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2015, 03:01 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Пример использования для формы ввода. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2015, 03:09 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Да, давненько не заходил я на этот форум. А вчера случайно обнаружил, что поднятая мною десять лет назад тема до сих пор актуальна и не смог "пройти мимо". К сожалению я не вспомнил свой прежний пароль, поэтому пришлось перерегистрироваться. Волею судеб за эти годы пришлось дважды сменить не только место работы, но и свой основной инструмент. В последние года три им стал Visual C#, который весь "замешен" на ООП. Поэтому волей-неволей пришлось осваивать эту технологию. Возможно кто-то и не согласится, но я думаю, что C# - не самый плохой выбор для понимания объектов и их взаимодействия. Рекомендую. Хочу всех поблагодарить за участие в обсуждении темы. Я свой выбор сделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2015, 14:45 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Увы, за десять лет в VFP мало что изменилось, и ООП все также употребляется больше для красного словца, хотя VFP был "замешан" на ООП куда пораньше C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2015, 15:50 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
sg12, Да как ты не назови этот метод, но суть его не изменится даже через миллион лет - деление проекта на составные части по смыслу и выделение похожих однотипных частей. Собственно оно и напрашивается само собой для такого деления. Даже окружающая природа состоит из похожих частей - из клеток, из молекул, из атомов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2015, 16:44 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Юрий Р., C# конечно модный и красивый. Однако когда для меня важна точность в бухгалтерии, в тмц, в балансе и т.д. и т.п, когда я боюсь ошибиться в цифЕрках и в отчётах, тогда я выбираю VFP и не выяблываюсь. Угадай почему? Потому что такие АшиПки могут дорого стоить и ОЧЕНЬ больно влупить по одному удивительному месту. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 05:18 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Гена Крокодил мимо проходил, Находясь в профессии более тридцати лет, о цене ошибки знаю не понаслышке. Ошибиться можно в равной степени как в VFP, так и в C#. А руководству вообще все равно - важен факт просчета. С другой стороны, чем больше опыта в использовании той или иной системы, тем менее вероятна ошибка. Но мы, к сожалению, не всегда вольны выбирать и мода здесь не при чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 19:42 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Юрий Р., Находясь в профессии более тридцати лет, о цене ошибки знаю не по наслышке. Скорость разработки проекта на фоксе в разы выше чем на том же C# или на Php. Почему? Да потому что это Фокс. Вероятность ошибиться в фоксе в разы меньше, а скорость отладки в разы выше. Это факт. Это даже не обсуждается. Ну а Мода в компьютерной индустрии всегда играет большую роль. Например мода на Айфоны для стада. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 04:46 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Я вот тоже до последнего верил, что Фокс еще поживет, тем более, что руководство Майкрософт'а это обещало. Эх, жаль потраченного времени ожидания. Сейчас c Фокса активно перехожу на MS SQL Server+C# Пишу в основном для своего предприятия, но есть реализованное приложение для сторонней компании (типа халтура втихаря). То что на Фоксе пишется проще и быстрее - безусловно, но разрабатывать новые проекты на технологии, которая не развивается, мягко говоря, бесперспективно. Да и (если честно) недостатков у Фокса тоже хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 17:49 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Гена Крокодил мимо проходил, ну Вы не поняли. О VFP ничего плохого сказать не могу и не хочу. Очень люблю этот инструмент тем более, что проработал с ним около 14-ти лет, включая ДОС-версии. И сейчас еще "крутится" несколько задач. Просто однажды руководство "заболело" Visual Studio и вынудило перейти на его инструментарий. Вот такая история. Ну а развивать полемику типа "кто круче", извините, не хочу. Да и тема не о том. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 17:52 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Pulsar_p Да и (если честно) недостатков у Фокса тоже хватает. Фокс не виноват. Виноваты мы все ... Возьмем к примеру 1С 7.7. В ней много чего не хватало. Но во-первых она поддерживала automation. К тоже мешал разработать недостающую функциональность? Конечно ребята разработали много всяких ВК /внешних компонент/ и скажу они существенно восполнили недостатки 1С, но на мой взгляд решили лишь малую часть из "хотелок" ... Чего не хватает Фоксу? Вот скажем вы сейчас назовете пару пунктов. А почему ни кто не удосужился поработать над решением этих вопросов? Ответ прост - все ждут, что кто-то это сделает ... Я конечно не спец в VFP, но если он поддерживает automation и возможность подключения сторонних dll, то о чем речь тогда? PS: За Фокс вспомнил последнее время потому, что у меня разработано пяток задач на них, которые шлифовались годами. Но так как разработка велась не "ручным" способом, а с использованием генераторов, то 80% кода лежит в meta данных. Так как сейчас веду разработку некой новой программной технологии /давно нужно было этим заняться .../, то обратил внимание на то, что вполне можно перевести эти meta данные в некие иные форматы и затем использовать их или для генерации кода или каких-либо run-time подсистем. На мой взгляд Фокс как впрочем и 1C 7.7 имеют хороший запас прочности, но редко встретишь среди руководства тех кто хорошо разбирается в программных технологиях ... ... /по крайне мере мне не встречались таковые/ и предоставлял бы время для разработки какого-либо программного функционала, отсутствующего к примеру в Фокс. Кстати я не фанат ни Фокса ни 1С 7.7, ... и высказанные выше суждения не призыв реанимировать их ... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 18:42 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Владимир2012 А почему ни кто не удосужился поработать над решением этих вопросов? Потому что маркетинг! 1С изначально сделали так чтобы это было выгодно. Альтруистов нет нигде, бюджеты крупных опенсорсных разработок это подтверждают. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 18:53 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
[quot Dima T]Владимир2012 Альтруистов нет нигде, ... Как сказать. Вспомните как развивался FastReport ... Да и многие open source проекты начинались без всякого финансирования ... /если не ошибаюсь, то QT начиналась как некий open source/ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 19:02 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
[quot Владимир2012]Dima Tпропущено... Как сказать. Вспомните как развивался FastReport ... Да и многие open source проекты начинались без всякого финансирования ... /если не ошибаюсь, то QT начиналась как некий open source/ Рассвет больших опенсорцов - стимул начинать маленькие, с целью в будущем заработать. Взять тот же qt, нынче лицензия разработчика стоит очень даже недешево. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 19:50 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Тут дело такое: кто хочет видеть альтруизм, тот его видит, т.к. те кто спонсируют альтруизм прекрасно понимают что альтруисты производительны и эффективны, но неуправляемы. Где бы сегодня был линукс если бы его не поддержал IBM? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 19:58 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Dima TВзять тот же qt, нынче лицензия разработчика стоит очень даже недешево. она всегда стоила недёшево и при Trolltech, и при Nokia и теперь - при Digia но при этом никто не мешает использовать совершенно бесплатно это библиотеку и в коммерческих разработках ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 21:41 |
|
Как научиться мыслить категориями ООП
|
|||
---|---|---|---|
#18+
Владимир2012А почему ни кто не удосужился поработать над решением этих вопросов? А почему все упорно игнорируют проект VFX и мою ссылку? Мужики уже многое добавили в фокс, сделали с душой. А вам Лень даже полистать! Всё бесплатно, берите даром: http://vfpx.codeplex.com/ Вот вам и шикарные диаграммы и графики: http://vfpx.codeplex.com/wikipage?title=FoxCharts&referringTitle=Home Есть даже бесплатный ActiveVFP - скрипты для сайтов на фоксе! Faster than PHP on Windows, easier than C#! http://activevfp.codeplex.com/ Ну что? Кто теперь сможет вякнуть что старый Лис умер? P.S. Только не надо мне втирать, что всё зависит от непутёвого начальника. Здесь обсуждаются возможности языка. А как их использовать - это уже ваше личное дело. И да, про Запас Прочности и Скорости Фокса абсолютно верно сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2015, 06:00 |
|
|
start [/forum/topic.php?fid=41&msg=38886731&tid=1582438]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 424ms |
0 / 0 |