#4
by Vozhd
Действительно, бред... Знакомство с различными системами крайне поверхностное и отрывочное, чувствуется, что с большими проектами автор не свзывался...
#6
by Vozhd
Я бы добавил, что на функциональных языках отдельные вещи пишутся не то что удобоваримо, а много проще, быстрее и надежнее...
#16
by Vozhd
Чтоб проблем при поддержке было больше, чтоб сложнее обновлялись конфигурации, чтобы меньше партнеров занималось внедрениями и меньшее количество пользователей покупало продукты 1С...
#17
by Wasya
При желании конечно можно найти тенденцию движения 1С к ООП. Но на мой взгляд 1С создала свою объектную модель и идет по пути ее совершенствования.
#21
by SilentMan
Как говаривал один известный профессор: разруха - она в головах... 1. Можно успешно писать программы на любых языках программирования и эти программы могут быть устойчивыми и производительными. Просто надо думать ДО программирования, а не программировать ВМЕСТО думания ... 2. ООП само по себе ничего хорошего не добавит в процесс писАния конфигураций на 1С, ибо обезьяна с гранатой - это страшно. 3. Абсолютно пофиг на чем писать нормальную программу ... 4. А как ООП поможет или повредит описанному в ?
#22
by SilentMan
В качестве примера - супер, в качестве реально работающей системы ... не уверен, потому что доработки системы (как правило) не являются просто кусками прилепленными сбоку от основного функционала системы. А если это так - причем здесь ООП? :))
#23
by Читатель
Т.е. тебе нужно больше примеров, хороших и разных ? Вменяемым все сказал, упертым - не доктор.
#26
by SilentMan
Ага, нужно :) Попробовав делать так, как описано в примере получил такое ... множество веселых проблем, что страшно стало ... Еще раз: пример с формами или чем-то интерфейсным (в т.ч. к внешнему миру) - кактит на ура, пример со всякими движениями - не в кассу ну совсем...
#28
by Читатель
Скажи, а для тебя модуль документа и форма это совершенно разные вещи ? Представляешь себе, gcomp и то, и другое раскладывает в текстовые файлы.
#30
by Vozhd
Меняю я структуру данных в регистре. Соответственно меняю модуль проведения у документа. Как будет после этого работать Ваше наследование?
#32
by Гений 1С
При изменении структуры регистра в типовой 1С выпустит новый класс, наследующий от предыдущего, а мы наследуем от этого нового класса и вносим изменения только в свой класс.
#33
by Читатель
Ты следующий кандидат на роль придурка в эту статью. Пример я уже придумал. Не будешь аргументировать свои посылки - будешь в статье. А что, у тебя очень часто меняеться структура регистров ? Наверное разработка - это не твое призвание.
#34
by Гений 1С
Я хотел указать основные предпосылки - изоляция (независимость от глобальных переменных и свойств объектов) функций и использование структур.
#35
by AAAChel
Нормальная, здравая статья, только очень краткая. А те, кто в истерике что-то орут по все видимости не написали ни строчки кода на языках, поддерживающих ООП, отсюда и лягушечный понос Спорить даже скучно, кто пробовал, тот знает
#36
by Vozhd
Гениально!!! Распишите, пожалуйста, структуру таблиц для наследования до 4 уровня. У меня структура меняется редко. Но и потребности в наследовании у меня не возникает. А зачем Вам наследование? Вы можете привести реальный пример, когда наследование дает выйгрыш относительно той идеологии, что есть сейчас в 1С? Это не имеет никакого отношения к ООП.
#38
by AAAChel
Мальчик мой, а причем здесь регистры?? Это всего лишь модель данных, хранящая остатки и обороты. Где их связь с ООП?? Создаются классы, работающие с физическими, нормальными таблицами, а ты про регистры, смех
#39
by Парижская фанера
>>При изменении структуры регистра в типовой 1С выпустит новый класс, наследующий от предыдущего, а мы наследуем от этого нового класса и вносим изменения только в свой класс. Зашибись... Так мы уже наследуем от класса, который стал "отцом" для нового... Изменять наследственность и писать поддерджку (возможно) нового интерфеса - это очень увлекательно...
#42
by Гений 1С
Кстати, могу добавить, что в случае перехода на ООП писать такой кривой код, как в типовых уже будет невозможно. :)
#43
by AAAChel
Самы простой пример: Базовая форма с кнопками ОК, Записать, Провести, Закрыть. Одна форма. Ни о чем не говорит?
#44
by Vozhd
В мире бытует и обратное мнение, что основной причиной кривого кода как раз является ООП...
#47
by Гений 1С
Вот сравни - что проще юзать OLE (обеъкты и методы хранятся вместе) или влазить в код 1С?
#48
by Парижская фанера
Примерчик про регистры конечно супер... Может кому-то "Объектно-ориентированные методы. Принципы и практика." Грэхема почитать...
#49
by Vozhd
Жаль, что Вы не знаете как это реализуется пример из Вашей ссылки без использования ООП.
#50
by AAAChel
Даже то что документ в 1с жестко связан с регистром уже многого стоит)) 1С делалась для чайников (6.0), но ничего не стоит на месте, а корешки глубоко сидят в сознании
#51
by Читатель
Рад был бы увидеть Ваш способ для типовых, с сохранением автоматического обновления.
#54
by AAAChel
бессмысленный спор. А во фразе "что проще" и таится ответ. Я не утверждал, что понять ООП код проще, его проще поддерживать, изменять, он для профессиональных людей. Но тогда не было бы десятков тысяч рыцарей 1с, и может бы и не было ее гегемонии
#55
by Читатель
И все же, сходи к оккулисту. Там же написано "пример не претендует на чистоту реализации методов ООП"
#56
by Vozhd
К сожалению, в моей практике, типовыми пользоваться не получалось. А усложнять и без того не самый удачный код крайне не хочется. Но Вы почему-то ратуете именно за это усложнение...
#59
by Читатель
+ и кстати, Осипов верно уловил идею. С ростом сложности типовых без ООП разрабатывать их становиться все труднее и труднее. Поэтому в УПП уже можно видеть протоклассы в виде модулей регистров
#63
by Парижская фанера
Я лично могу могу вообразить такой пример применения ООП - написание своих классов на основании базовых, если для них есть функции реализация которых, в базовых классах отсутствует и её приходится постоянно "добавлять". Для этого в принципе есть 1С++.
#65
by AAAChel
Ну пипец)) Это Осипов был, смотрю фотку видел вроде. Ты писал на ООП языках приложения с СУБД. Сколько в них было форм, таблиц. Я писал с нуля, около 500 таблиц, 300 форм
#66
by Читатель
Именно поэтому 1С Предприятие написано на ООП языке! Чтоб жизнь медом не казалась. А то слишком легко было бы.
#71
by Парижская фанера
(+63) Т.о. что нужно от 1С - реализовать поддержку подобного механизма на уровне движка + хранение коллекций классов + контроль версий (типа как в .Net манифесты - известно заранее что эта dll не будет работать со сборкой ниже определенного номера).
#72
by AAAChel
никто же не призывает писать на чистом с++)) русский народ интересен своими крайностями в суждении. Речь идет в статье о создании предметно-ориентированной и в то же время поддерживающей все принципы ОПП среде. Щас ппридет Волшебник и скажет: что 1С поддерживает что-то из ООП, что нет его четких определений (а они есть, см Буча). Эта тема былп месяца 4 назад
#73
by SilentMan
Оно конечно хорошо - сразу послать куда-нито и закрыть спор :)) И тем не менее - какого уровня аргументация нужна: не работает в приципе, сложно реализуется, усложняет разработку или конкретный код?
#75
by Парижская фанера
А нафига тогда вообще своё IDE создавать? Пускай 1С выпустит "набор кубиков" для Visual Studio 2003-2005. И несколько "типовых" solution. И пиши сколько влезет.
#78
by Демогоргон
Что-бы зеленые грести. Тебе еще надо и визуал студио копать и покупать и проч.. к тому же естче коды украдут сразу-же
#81
by SilentMan
Не понял, но попробую ... твой пример показывает добавления к существующем движениям другие движения по другому регистру. Допускаю, что таблица, из которой берутся данные где-то правильно рассчитана. Теперь представляем, что нас не устраивают движения, формируемые базовым классом... Видится несколько вариантов действий: 1. полностью переписать реализацию базового класса (если она открыта для изменений) 2. полностью реализовать в нужных местах свою реализацию вместо базового класса Если добавить к этому необходимость использовать результаты работы базового класса для последующих расчетов (что, как правило и случается), то получаем еще большие проблемы, т.к. нужно полностью переделывать способы и методы работы с БД... P.S. Несмотря на твое хамство, я по-прежнему считаю, что от ООП есть толк, но в части работы с ... хммм учетными данными. Кастомные контролы и формы, некие системные фичи, типа врапперов над базовыми методами ftp etc
#82
by AAAChel
Неужели ты не понимаешь разницы между первичной и предметно-ориентированной средой? Есть Navision, я слабо знаком, но там по утверждениям, есть слои, базовые и ваши, то есть аналоги классов. PS. Любой спор о недостатках 1с свводится к "мордобитию", неужели не хочется видеть ее лучше и удобнее?
#83
by SilentMan
Насколько я знаю, это разделение на слои и является одной из причин тормозов Навижена (начиная с определнного объема базы), т.к. каждый слой вынужден постоянно пихать свои данные в базу, считая, что он (слой) единственный, иначе слой более высокого (или низкого - смотря как смотреть) уровня не будет учитывать изменений БД, сделанных в предыдущем слое.
#84
by AAAChel
а я тоже не понял, при чем здезь движения базового класса? это всего лишь твоя модель, но могут быть и другие)
#85
by Vozhd
"Лучше и удобнее" для кого? Для программиста - на всех не угодишь: кто-то жить не может без ООП, кому-то нравится ФЯ, кому-то нужна динамическая типизация, а кому-то статическая с выводом типов. Если лучше и удобнее для пользователя и "сопровожденца", то это уже вопросы не столько к платформе, сколько к конфигурациям.
#86
by AAAChel
При 20 уровнях наследования затормозит и Феррари, если наследник Камаз. Наш спор пустой, без цифр и дроказательств, и даже эмоций маловато))
#87
by Vozhd
Вот примеры проблем ООП: P.S. Качество программ определяется не столько языком, сколько опытом и знаниями автора.
#88
by Читатель
Если что то не удовлетворяет в базовом классе то : 1) От базового класса наследуеться собственный. (наследование) 2) В собственном переписываются только те методы(функции), которые необходимы, и то чаще всего только в части их отличий от базовых. (инкапсуляция) 3) Везде может использоваться как базовый класс, так и производный от него на равных (полиморфизм) Видимо ты слабо знаешь (если вообще знаешь) ООП.
#90
by AAAChel
Только выше базового качества программ вряд-ли прыгнешь, достаточно открыть индустриальные типовые конфигурации, их же надо хранить, как девочку))
#91
by SilentMan
1. И при этом объясняем всем остальным потомкам базового класса о смене иерархии? 2. А если эти изменения нужны для всех потомков базового класса? 3. да не вопрос, а как передавать результаты работы предка в потомка? - все в базу писать?
#94
by SilentMan
Это всего-лишь (по памяти) мнение человека, очень плотно работающего с Нави. За что купил - за то продаю...
#95
by Гений 1С
ПО крайней мере лично меня бы ООП избавило бы от вот такого вот набора функций и соответственно их вызова, кстати, хотя бы ссылку на функцию дали, я бы сам ООП замутил. :) Я уж не говорю про компоненты форм - готовые элементы управления.
#97
by Vozhd
А чем Вас не устраивает, допустим, COM модель. Там нет наследования, но расширять функционал базовых компонент в принципе можно (если позволит автор компоненты).
#98
by Читатель
Объяснять не надо. Те кто хочет, пользуются старым интерфейсом, те кому нужно - новым. (Интерфейс - это фактически функции класса) Тяжело словами объяснить. Чтобы понять нужно почитать и попрактиковаться.
#99
by SilentMan
В том-то и дело, что надо. Если мы наследуем от базового свой, и хотим его положить в вершину иерархии (другими словами - измененные движения должны измениться для всех потомков) - нам надо будет рассказать потомкам, что у них сменился предок или городить более "высокое" множественное наследование, что тоже счастья не добавляет. Если кто-то пользуется старым интерфейсом - значит мы переписываем реализацию базового класса - так? Тогда в чем прелесть наследования? В 2005 году
#100
by Vozhd
И как быть когда у разных интерфейсов разное отображение на данные? Ну не хватает мне реквизитов в типовых документах.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- ЗУП Почему при формировании очетов программа зависает напрочь?
- Как программно добавить реквизит?
- Установить тип значения для колонки дерева значений
- Как в Камине 2.0 выгрузить 2-НДФЛ в файл?
- Оформление дерева значений
- Изменение времени открытого непроведенного документа
- Как в 1С зная номер дня года получить дату?
- Как использовать шаблон в рисунке типа "Текст" ТабличногоДокумента
- ОЛЕ или Конвертация?
- УРБД: автообмен по электронной почте. Праблы.
- Итак, PostgreSQL, тонкий клиент и несколько серверов приложений в 8.1
- Таблица значений в качестве источника данных для запроса
- Изменение приходного документа делает минус на складе
- COM соединение. Почему выполняется ПередЗаписью() при СоздатьДокумент()
- Количественно-суммовой учет
- Восстановить ссылку
- Ошибка при проведения поступления товаров и услуг
- ScanOPOS.dll При регистрации выдает ошибку LoadLibrary
- ХранилищеДополнительнойИнформации
- Как получить реквизит из табличной части документа?