Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja Both sides next revision
pl:miw:miw08_ruleruntimeo:howto [2008/05/20 01:24]
miw
pl:miw:miw08_ruleruntimeo:howto [2008/05/20 02:08]
miw
Linia 1: Linia 1:
 ====== Używanie JPL i Logtalk do tworzenia aplikacji zgodnych z wzorcem MVC ====== ====== Używanie JPL i Logtalk do tworzenia aplikacji zgodnych z wzorcem MVC ======
  
- ==== Instalacja JPL ====+ ==== Instalacja JPL pod Windows====
    
 Jako, że do komunikacji pomiedzy obiektami klas Javy i Logtalk'​a używana jest bibliotek'​a JPL, konieczne jest   ​wcześniejsze jej zainstalowanie. ​ Jako, że do komunikacji pomiedzy obiektami klas Javy i Logtalk'​a używana jest bibliotek'​a JPL, konieczne jest   ​wcześniejsze jej zainstalowanie. ​
Linia 10: Linia 10:
   * Zmienna środowiskowa PATH zawiera folder, w którym znajduje się libpl.dll (domyślnie SWI_HOME_DIR\bin)   * Zmienna środowiskowa PATH zawiera folder, w którym znajduje się libpl.dll (domyślnie SWI_HOME_DIR\bin)
  
 +Przy uwzglednieniu tych uwag wszystko powinno działać normalnie.
  
 ==== Konfiguracja Logtalk runtime ==== ==== Konfiguracja Logtalk runtime ====
 +
 +Aby móc używać obiektów Logtalk'​a potrzebne jest nie tylko ich kod zrodlowy w plikach z rozszerzeniem lgt ale aby móc je skompilować i uruchomić, tworząc instancje tych obiektów konieczne jest załadowanie środowiska uruchomieniowego Logtalk'​a. ​
 +Aby skonfigurowac odpowiednio kompilator SWI do pracy z LogTalk'​iem należy uruchomić 3 pliki konfiguracyjne:​
 +   * configs/​swi.config - ustawia zmienne i konfiguruj srodowisko Prologa
 +   * complier/​logtalk.pl - laduje kompilator LogTalka
 +   * libpaths/​libpaths.pl - ustawia sciezki do bibliotek standardowych LogTalka
 +Pliki te znajduja sie w katalogu instalacyjnym Logtalk'​a (czyli domyslnie dla Windowsa C:\Program Files\Logtalk)
 +
 +chyba najwygodniej jest sporządzić sobie plik startowy o zawartosci:
 +<code prolog>
 +:​-consult('​lib/​Resources/​logtalk/​swi.config'​).
 +:​-consult('​lib/​Resources/​logtalk/​logtalk.pl'​).
 +:​-consult('​lib/​Resources/​logtalk/​libpaths.pl'​).
 +
 +</​code>​
 +
 +Zanim przystapimy do tworzenia instancji jakiego obiektu Logtalk'​a konieczne bedzie uruchomienie tego pliku.
  
 ==== Podzial na klasy i moduly ==== ==== Podzial na klasy i moduly ====
 +
 +Analizujac architekture wzorca MVC na przykladzie prostego [[http://​java.sun.com/​developer/​technicalArticles/​javase/​mvc/​|edytora tekstu ]], widoczną na poniższym diagramie : {{:​pl:​miw:​miw08_ruleruntimeo:​figure4.gif|:​pl:​miw:​miw08_ruleruntimeo:​figure4.gif}}
 +----
 +
 +Widać, że podmiana klas modelu na obiekty Logtalku może się odbyć tylko poprzez modyfikacje Kontrolera (Controller) na taki, który wykorzystując JPL będzie komunikował się z Logtalk'​iem ​ i przekazywał komunikaty do Widoku (View). Zatem klasy modelu napisane w Javie de facto mogą zostać podmienione przez obiekty Logtalk na zasadzie 1:1.
 +Niestety jako, że problematyczne okazało się wywoływanie zdarzeń bezpośrednio z kodu Prologa, konieczne było zastosowanie pewnych obejść żeby zachować istniejącą architekturę aplikacji, ale generlanie rzecz biorąc próba realizacji takiej podmiany udała się.
 +
 +
  
  
pl/miw/miw08_ruleruntimeo/howto.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0