• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Варианты проектирования класса...

  • Автор темы Автор темы fedotxxl
  • Дата начала Дата начала
F

fedotxxl

Привет)
Думаю как лучше спроектировать - посоветуйте
Предположим у меня есть класс, получает на вход notesDocument, имеет набор функций.
Как лучше сделать: nd забивать в конструкторе / nd передавать в параметр каждой функции. Второе мне больше нравится, т.к. класс не нужно переинициализировать для нового документа, но насколько это правильно с точки зрения проектирования
 
все зависит от задач, которые будут возлагаться на класс...
если это прокси-класс для NotesDocument, то как-то глупо передавать в каждый метод объект документа, а если это класс для обработки многих документов одинаковым способом, то смысл есть, но будет ли он отличаться от процедуры?.. если нет, то в классе смысла нет, если одна процедура будет вызывать множество других, то, возможно, имеет смысл инкапсулировать все это в класс, но к ООП это не будет иметь отношения... такое в общем...
 
с т.з. проектирования существуют статические методы в классах :lol: когда инициализация и вовсе не нужна
 
lmike, ты имхо запутываешь возможности языка и понятия :lol:
 
Если бы в лотусе еще были статические методы... Эх, мечты мечты :lol:
 
что тебе мешает имитировать их? создал библиотеку, создал класс, в ней глобальную переменную-объект, там же инициализровал и вуаля :lol:
 
что тебе мешает имитировать их? создал библиотеку, создал класс, в ней глобальную переменную-объект, там же инициализровал и вуаля :lol:

Именно так и делаю, суть в том что это имитация. IBM-у никто не мешал, по крайней мере начиная с 6й версии, реализовать больше возможностей для ООП. Хотя о чем я вообще говорю, если до сих пор нет нормального редактора для классов в скрипте.


PS 8.5.1 бета якобы вышла уже недели 2 назад, кто-нить в курсе где скачать ?
 
а собсно, где статические классы есть кроме явы?.. в сипипи разве были?.. в паскале до версии делфи 6 вроде не было ))
смалтолк не знаю... короче кроме явы не знаю где они есть :lol:)
 
я ничего не запутываю :(
в С++ тоже такие есть, в шарпее
в паскале (объектном) - просто не помню, вроде тоже были
в smalltalk нет такого названия, но "поведение" такое есть (почти не знаю смолтолк)

для ООП - это "нормальный тип" вызовов
 
lmike, знаешь, наверное я о чем-то другом думал, когда тебе отвечал ))
статические методы тут вполне подойдут, смотря чего надо...
 
Если бы в лотусе еще были статические методы... Эх, мечты мечты :(
в LDN они есть, реализовано в java ;), надо не мечтать, а пользоваться :)
Lotus Script вынуждены пользовать в UI, в остальных случаях, я лично, не вижу целесообразным
 
lmike, ты говоришь так, как будто у тебя во всех серьезных приложениях используется ява. И везде где только можно делаешь вызовы Java-агентов, LSJ-бриджи и т.п. И на любую кнопку 1й раз у тебя всегда JVM стартует? И диалоги ты наверное на SWT делаешь, или на чем там еще в яве можно?

И пишешь ее ты наверное в эклипсе, и там же отлаживаешь? Только тогда объясни, зачем тогда тебе лотус вообще нужен? :(
 
lmike, ты говоришь так, как будто у тебя во всех серьезных приложениях используется ява. И везде где только можно делаешь вызовы Java-агентов, LSJ-бриджи и т.п. И на любую кнопку 1й раз у тебя всегда JVM стартует? И диалоги ты наверное на SWT делаешь, или на чем там еще в яве можно?

И пишешь ее ты наверное в эклипсе, и там же отлаживаешь? Только тогда объясни, зачем тогда тебе лотус вообще нужен? :)
я не вижу смысла противопоставления, джава - родной язык для LDN (с оговоркой - с опред. версии ;) )
джава код я пишу почти вслепую, в убогом дизайнере нотусов (при условии его малого объема ;) )
домино замечательная платформа и я не раз это подчеркивал
супрайз, но жвм у домины будет стартовать один раз ;), от этого и проистекают нек. "особенности" использования
 
я не вижу смысла противопоставления, джава - родной язык для LDN (с оговоркой - с опред. версии :) )
C какой?

джава код я пишу почти вслепую, в убогом дизайнере нотусов (при условии его малого объема ;) )
домино замечательная платформа и я не раз это подчеркивал
супрайз, но жвм у домины будет стартовать один раз ;), от этого и проистекают нек. "особенности" использования

Может тогда поделишься опытом? В действительности мне уже давно хочется уйти от скрипта, но я пока не вижу как в существующей стандартной архитектуре лотус-приложений можно по максимуму задействовать яву.
 
супрайз, но жвм у домины будет стартовать один раз wink.gif, от этого и проистекают нек. "особенности" использования

Не означает ли это, что можно задать некие "глобальные" объекты, с временем жизни большим, чем у исполняемого модуля? Например, Java-объект, порождённый в QuerySave формы, может ли стать каким-то образом доступным в агенте? Я не имею в виду искусственную эмуляцию долгоживущих объектов через такие механизмы, как сериализация, а реальную. Относится ли данное поведение и к объектам-обёрткам над notes-объектами?
 
джава код я пишу почти вслепую, в убогом дизайнере нотусов (при условии его малого объема :) )

зачем так корячиться, поставьте себе эклипс или еще что, настройте связку с лотусом, пишите и дебажьте код..
 
не помню, как в 4.6, но с R5 можно было уже писать на джава, LS2J бридж появился, по-моему в 6-ке

а какой опыт нужен? В дизайнере есть java объекты, в либах и агентах к примеру
из формах пока нельзя "напрямую" вызвать java, но это чисто UI заморочки

Т.о. библиотеки можно писать на java (для бэкэнда), можно создавать собственные jar и цеплять их "снаружи"
композитные приложения в 8-ке...


Не означает ли это, что можно задать некие "глобальные" объекты, с временем жизни большим, чем у исполняемого модуля? Например, Java-объект, порождённый в QuerySave формы, может ли стать каким-то образом доступным в агенте? Я не имею в виду искусственную эмуляцию долгоживущих объектов через такие механизмы, как сериализация, а реальную. Относится ли данное поведение и к объектам-обёрткам над notes-объектами?
с нотусёвыми объектами сложнее :) - ониж натив вызывают (можно напороться на крэш в длл). Очереди юзал, под клиентом...
долгоживущий объект есть в Нотусах и Домине - очереди (недостаток - малый объем хранения), но их проще через АПИ юзать

есть примеры реализаций адынов для джава кода

остаётся вопрос передачи объектов, но как мне кажется (не пробывал) заюзать статик или синглтон из внешней библы - не составит проблем
вопрос многотредовости я не исследовал (насколько нервно ИБМ жвм на это отреагирует)

зачем так корячиться, поставьте себе эклипс или еще что, настройте связку с лотусом, пишите и дебажьте код..
на 64-бит линухе такая связка проблематична ;) - у Нотусей 32бит библы с жёсткой (хардкоденой) привязкой
 
на 64-бит линухе такая связка проблематична :) - у Нотусей 32бит библы с жёсткой (хардкоденой) привязкой
имеется в виду что джава 64 бита ? или что джава 32 бита не работает на 64 битной линухе ?
 
эклипс 64 бит, джава 64 бит, эклипс 32 бит взлетает, но нехоца держать 2-а эклипса
нотусёвая либа - 32 бит, под 64 жвм не взлетела (падает в корку) после прописывания LD
джава 32-бит работает в 64 бит линухе
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab