Help! AIDAweb

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

Nikolay Kleptsov

И все-таки класс единственный экземпляр и присоединен к переменной-константе.
Для небольшого количества приложений такой подход удобней.
При опубликовании нескольких сотен или тысяч объектов придется идти обходными путями.

2010/12/1 George Herolyants <[hidden email]>
Стоит ли напоминать о том, что классы тоже объекты? К тому же я думаю,
вы легко можете подсунуть туда любой объект, если вас так смущают
объекты именованные (читай классы), главное, чтобы он соответстовал
требуемому интерфейсу (читай типу). Так что от "типизации" вы никуда
не уйдёте в любом случае. Просто так удобнее.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

George Herolyants-3
1 декабря 2010 г. 19:54 пользователь Nikolay Kleptsov
<[hidden email]> написал:
> При опубликовании нескольких сотен или тысяч объектов придется идти
> обходными путями.

По-моему, вы используете Seaside не по назначению. Зачем "публиковать"
объекты в виде отдельных приложений? Вы хотите RESTful urls получить?
Вот в AidaWeb, судя по их презентации, каждый объект из модели имеет
представление, и с RESTful всё в порядке, как тут кто-то заметил.
Может, это вам больше подойдёт?

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

Janko Mivšek-2
In reply to this post by Nikolay Kleptsov
2010/12/1 Nikolay Kleptsov <[hidden email]>:
>
> И все-таки класс единственный экземпляр и присоединен к
> переменной-константе.
> Для небольшого количества приложений такой подход удобней.
> При опубликовании нескольких сотен или тысяч объектов придется идти
> обходными путями.

To describe Aida approach a bit more: due to MVC support in Aida you
register a root domain object of your domain model. For a bookstore of
books for instance, you'll do something like that:

        anAidaSite registerObject: aBookstore  onURL: '/bookstore'

Then you'll write presentation classes BookStoreApp and BookApp.
Presentation classes hold Views and Controlers/actions (VC in MVC).
Instance of a BookstoreApp per session is then created when users visit
/bookstore. Urls for books are automatically generated, you just provide
a reference to the book object in a link and Aida will generate and
register Url. You can control the Url generation if you add a
#preferedUrl method in Book class, like:

      Book>>preferedUrl
          ^'/book/', self title

Note also that you can register a presentation class too (as in Seaside
or Iliad):

        anAidaSite registerObject: BookostoreApp  onURL: '/bookstore'

Just that now you won't have an automatic connection between your App
instance and domain model anymore. So this is regarded a special case in
Aida. Recommended way is to go a true MVC way as in first example.

Hope this clarify Aida a bit.

Janko



>
> 2010/12/1 George Herolyants <[hidden email]>
>>
>> Стоит ли напоминать о том, что классы тоже объекты? К тому же я думаю,
>> вы легко можете подсунуть туда любой объект, если вас так смущают
>> объекты именованные (читай классы), главное, чтобы он соответстовал
>> требуемому интерфейсу (читай типу). Так что от "типизации" вы никуда
>> не уйдёте в любом случае. Просто так удобнее.
>>
>> --
>> http://groups.google.ru/group/sugr
>
> --
> http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

Dennis Schetinin


To describe Aida approach a bit more: due to MVC support in Aida you
register a root domain object of your domain model. For a bookstore of
books for instance, you'll do something like that:

       anAidaSite registerObject: aBookstore  onURL: '/bookstore'

Then you'll write presentation classes BookStoreApp and BookApp.
Presentation classes hold Views and Controlers/actions (VC in MVC).
Instance of a BookstoreApp per session is then created when users visit
/bookstore.

Does it mean Model must know about its Presenter? And the Model can have only one presenter? Or how does the system know about how to present the model (that aBookstore must be presented by BookStoreApp and BookApp in this case)?

Note also that you can register a presentation class too (as in Seaside
or Iliad):

       anAidaSite registerObject: BookostoreApp  onURL: '/bookstore'

Just that now you won't have an automatic connection between your App
instance and domain model anymore.

What do you mean by the "automatic connection"? Why is it important?

--
Dennis Schetinin

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

Nikolay Kleptsov
In reply to this post by Dennis Schetinin


2010/12/1 Dennis Schetinin <[hidden email]>
Класс в Smalltalk-е не есть тип. И типизация, по-моему, тут ни при чем. Регистрируется объект, способный порождать экземпляры приложения. Класс — наиболее очевидный и простой вариант. Но никто не мешает реализовать нужные сообщения в любом другом объекте и "подсовывать" его. Только я так и не знаю, зачем это может быть нужно, и в чем, собственно, проблема с Seaside-овским подходом?

Использование классов как основы для регистрации компонентов, сессий, приложений, по моему мнению, уменьшает гибкость. Хотя для своего круга задач Seaside проще и удобней.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Help! AIDAweb

STNewbie
In reply to this post by Janko Mivšek-2
Janko! Very great thanks for the explanation!

On 29 ноя, 14:03, Janko Mivsek <[hidden email]> wrote:

> Privet,
>
> Scribo is so far still in beta and strongly undocumented, I apologize
> that. Did you go through Aida basics (like tutorial) yet?
>
> About adding new page instruction, this is for adding page from some
> other page while editing it, not programmatically in Workspace :) So, if
> you go to your Wiki, edit it, then put a name of new page in square
> brackets [new page] and save. Now click on that new link and you'll be
> on new page, in edit mode.
>
> I hope this helps a bit
>
> Lep pozdrav
> Janko
>
> 2010/11/26 STNewbie <[hidden email]>:
>
> > Прошу помощи у сведущих. Месяц пытаюсь освоить азы Смолтолка для
> > создания сайта на базе готовых фреймворков. Но пока что даже не
> > получается использовать готовые инструменты. В броузере все понятно,
> > но вот как подключить, например, готовый форум Scribo-Forum из Scribo
> > CMS используя образ Аида-Сквик?
>
> > (И еще. Инструкции к Скрибо довольно подробные, но даже вот эта ставит
> > в тупик:
> > Adding new pages
> > Just put the title of your new page in [squeak brackets], save that
> > page, click on the link of new page and you are on it, directly in
> > edit mode. Links to a new page are Italized until page is really
> > created, that is, clicked and saved for a first time.
>
> > Это проделывается в Workspace или где?... :( И что - прям так и набрал
> > заголовок в квадратных скобках, выделил и Ctrl+D, сохранил и - вуаля -
> > появится новая страница? Или что-то не догоняю? Старательно читаю всю
> > документацию по АИДЕ.)
>
> > Может немного сумбурно, но очень интересует простая инструкция по
> > первому вопросу - for dummy. :)
>
> > --
> >http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
12