21.03.2012, 11:48 | #1 |
Ищущий знания...
|
зачем нужен ООП в управленческих системах
Тема выделена из "Создание нового журнала".
Цитата:
Откройте форму (которая создана, кстати, на SYS слое) SysClassWyzard (это для примера), там есть два метода moveSelectedListItems() и moveAllItems(), эти методы отличаются одной строчкой кода: в методе moveSelectedListItems() это X++: idx = _sourceList.getNextItem(FormListNext::Selected); X++: idx = _sourceList.getNextItem(FormListNext::All); Хочется услышать мнение на этот счет сотоварищей связанных аксаптой
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 12:34 | #2 |
Участник
|
По теме (вынесенной в заголовок ветки). Вопрос равносилен примерно такому: "Зачем использовать средства автоматизации труда в лёгкой промышленности?".
Я на самом деле не очень понимаю, какие такие особенности "управленческих систем" влияют на выбор средств их реализации, а рассуждать о том зачем вообще нужен ООП как-то не очень интересно. достоинства ООП: Масштабируемость. "Управленческие системы", что не должны быть масштабируемыми? Унификация. Стандартизация интерфейсов взаимодействия элементов системы - для сложных (состоящих из большого числа элементов) систем это обязательная вещь. "Управленческие системы" на ваш взгляд настолько просты, что ООП их только усложняет? Вы это имеете в виду? Тогда вы вероятно путаете причину со следствием. Аксапта сложна не потому что в ней тысячи клаcсов, а наоборот |
|
21.03.2012, 12:39 | #3 |
Ищущий знания...
|
Цитата:
Сообщение от S.Kuskov
достоинства ООП:
Масштабируемость. "Управленческие системы", что не должны быть масштабируемыми? Унификация. Стандартизация интерфейсов взаимодействия элементов системы - для сложных (состоящих из большого числа элементов) систем это обязательная вещь. "Управленческие системы" на ваш взгляд настолько просты, что ООП их только усложняет? Вы это имеете в виду? Тогда вы вероятно путаете причину со следствием. Аксапта сложна не потому что в ней тысячи клаcсов, а наоборот потому как я точно такого же мнения как и Вы А хотелось бы услышать доводы egorych, именно его фраза в теме "Создание нового журнала" и побудила меня создать эту тему
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 12:46 | #4 |
Участник
|
Цитата:
Сообщение от lev
нафига плодить два метода (о будущей поддержке не думали явно, если вдруг надо будет изменять функционал, нужно будет помнить про оба метода), с абсолютно одинаковым кодом, если можно создать один метод moveItems(), у которого кроме всего прочего на входе будет ещё параметр FormListNext, и использовать один метод, просто передавая туда параметр. Было желание потренироваться в наборе определенного кода? Или какие то другие цели?
На самом деле класс прячет реализацию способа хранения данных списка в классе за перечнем методов доступа не случайно. Делается это для того чтобы в случае изменения инфраструктуры можно было бы не меняя интерфейса адаптировать класс под новое окружение. P.S.: To lev. Всё ясно. "Мопед не мой, я просто разместил объяву" (С) Последний раз редактировалось S.Kuskov; 21.03.2012 в 12:50. |
|
21.03.2012, 12:57 | #5 |
Ищущий знания...
|
Цитата:
Цитата:
это я вообще не понял, чем именно вызвана ирония? З.Ы. если из первого сообщения не понятно, попробую высказать основную мысль, которую в него закладывал. ООП это гуд, и упрощает написание, чтение и поддержку кода (не зависимо от назначения системы). а в аксапте же, встречаются места где на ООП просто забили как то так.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
21.03.2012, 12:59 | #6 |
Участник
|
Цитата:
Но тут и в самом деле непонятная ситуация. Это не класс, а форма. И вызывает она свои же методы. Наследование в данном случае невозможно, так что смысла в таком разделении я тоже не вижу.
__________________
If it ain't broke, take it apart and find out why (с) |
|
21.03.2012, 13:07 | #7 |
Участник
|
Ах это ещё всё и на форме?! Ну тогда что могу сказать. Писать код на форме вообще не
На sys слое ещё и не такое встретишь The daily Axapta WTF |
|
|
За это сообщение автора поблагодарили: kornix (1). |
21.03.2012, 13:10 | #8 |
Ищущий знания...
|
Цитата:
Сообщение от S.Kuskov
На sys слое ещё и не такое встретишь The daily Axapta WTF
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.03.2012, 13:47 | #9 |
MCP
|
Цитата:
На мой взгляд нужно разумно использовать ООП + структурное программирование. Последний раз редактировалось kornix; 21.03.2012 в 13:50. |
|
|
За это сообщение автора поблагодарили: GBH (1). |
21.03.2012, 15:25 | #10 |
Участник
|
Оххх! Не буду сейчас писать ничего - ибо некогда - все эти сказочки про масштабируемость, расширяемость уже наелись, спасибо!
Скажите, САП масштабируемая и расширяемая система? Там если есть пресловутое ООП, то оно так далеко, что и не видно! На каждый пример удачного использования (в Аксапте) есть тыщща примеров гемороя - когда добавление 1 поля в табличку (на формочку) влечет ковыряние в тоннах кода!
__________________
Axapta 3.0 sp - хз какой, kr2 |
|
21.03.2012, 15:40 | #11 |
Участник
|
Цитата:
1. Код на форме всегда выполняется на клиенте. 2. Код на форме нельзя использовать повторно в каком-то другом месте. И при этом пишется Цитата:
If you have code in the form, the code should be for making only simple changes to the appearance of the form or to the form’s query. Try to place the code on the form or on the data source.
|
|
21.03.2012, 16:15 | #12 |
Участник
|
Это была ирония. Но как говорится, в каждой шутке есть только доля шутки
|
|
21.03.2012, 17:36 | #13 |
Участник
|
По субж. выделенной темы
А еще есть 1С, где даже в 8.2 ООП так и не появилось. А осталось все "объектным" из заранее зашитых объектов. И после АХ и ее ООП думать по 1Сному оч сложно, хотя и там люди живут и моды модят, извращаясь порой от отсутствия такого понятия как "таблица", заменяя его где на документ\справочник, а где и регистры, засовывая вместо грида в форму на закладку отчет (по регистру с кнопкой "сформировать"), благо там из отчета можно проваливаться в другие формы, где и идет ввод\редактирование. В Оракле с его Явой вроде все ок с ООП, но переписывание стандартного функционала ведет к тому, что новый код работает не вместо переписанного, а дополнительно к нему, сперва отменяя результат отработки, что для производительности тоже не гут (тут могу ошибаться или сча не так, инфа со слухов, поправьте оракловеды) На этом фоне ООП в АХ очень даже ООП, приятно пользоваться, разрабатывая нормальную структуру наследования. А что в стандарте есть отступления\фигня - так это от того, что все делали люди и те же стажеры на работу везде выходят. Потому многие, кто долго возится с системой, когда-нибудь это понимают и перестают слепо преклоняться перед "стандартом" - его делали люди и кто сказал, что они были более квалифицированы, чем мы или архитектурный замысел идеален? Потому и живут своей жизнью партнерские решения, написанные сбоку от АХ (но на АХ при использовании всех хороших возможностей). Так как написанное сбоку удобнее - его можно реально развивать и эволюционировать (иметь по нему неустаревающую документацию), а не переписывать (переносить с трудом) при каждом обновлении (правда от АХ2012 это тоже не спасет ) . |
|
21.03.2012, 22:53 | #14 |
Участник
|
1. В SAP есть ООП, очень даже. Более того, весь новый код проходит своеобразный ревью на ВР, где как раз регламентировано использовании преимуществ ООП подходов.
2. Вопрос в другом: а кому нужно ООП в ERP - системах? Ну, кроме разработчиков? Одно ООП преимуществ не даст- многие помнят Эталон от Цефея, он по ООП лет на 10 DAX опредил: в 2002 у него уже были наследуемые таблицы. И где теперь Эталон? |
|
22.03.2012, 08:09 | #15 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: (1), kornix (2), pedrozzz (1). |
22.03.2012, 10:32 | #16 |
Участник
|
|
|
22.03.2012, 21:59 | #17 |
Участник
|
Сергей, поверьте, я отдаю себе отчет, что на этом форуме сидят именно разработчики, которые как раз и привыкли работать с "кирпичами" (что, кстати, подтверждается поддержкой Вас Вашими коллегами. Но смотрите шире: мне, как заказчику, нужен офис класса А+, с подземной парковкой, помещением под ЦОД с системами пожаротушения, усиленного кондиционирования и резервным питанием. Преимущество именно кирпичей для меня отнюдь не очевидно, но и кирпичное пойдет, если оно находится в пределах транспортной доступности и отвечает моим потребностям.
|
|
23.03.2012, 01:14 | #18 |
Участник
|
Мимо тазика. Офисы класса А+ не развиваются - их как построили, так они и будут стоять до момента сноса, максимум их перештукатурят и фурнитуру на дверях поменяют. А ERP-системы (и вообще программные системы - если они востребованы заказчиком, а не стали очередным shelfware) развиваются постоянно, и вот тут очень важную роль начинает играть то, поддерживает ли система ООП или, скажем, интеграцию с CLR.
PS. Мне как потребителю тоже на очень многие вещи начхать, но вот производители бытовой техники почему-то упорно навязывают мне HDMI, а конторы, предоставлющие услуги IP TV, зачем-то требуют, чтобы мой телек поддерживал DVB-C, иначе грозятся впарить мне за отдельные деньги ненужную ТВ-приставку с отдельным кондовым пультом вместо моего универсального, к которому я привык. Последний раз редактировалось gl00mie; 23.03.2012 в 01:22. |
|
23.03.2012, 07:49 | #19 |
Участник
|
Хм. Вот SAP несколько десятков лет не поддерживал ООП. И что, Вы думаете, он не развивался? не было модификаций? Отраслевых решений? Решений партнеров??
Отсутствие ООП не помешало стать SAP лидирующей системой в мире. Возможно, все-таки не в ООП дело, как Вы считаете? |
|
23.03.2012, 08:33 | #20 |
Участник
|
Цитата:
Согласитесь, глупо выглядит клиент, который заказывая "офис класса А+" говорит: не хочу что бы стены были из прямоугольных кирпичей - хочу чтобы из квадратных, говорит, что понимает что стены будут оштукатурены и он формы кирпичей никогда не увидит и вообще он в кирпичах не разбирается но почему-то уверен, что именно для "офисов класса А+" прямоугольные кирпичи не подходят. До промышленной революция люди тоже вручную делали удивительные вещи... Это же не значит что средства автоматизации труда никому не нужны. Последний раз редактировалось S.Kuskov; 23.03.2012 в 08:53. |
|