1 / 29

Információs környezetek a szervezésben és a tervezésben

Információs környezetek a szervezésben és a tervezésben. Vég Csaba Veg.Csaba@xsys.hu. I. A probléma. OO?. Pont és Egyenes osztály? Illeszkedés vizsgálat: Pont osztályban? Egyenes osztályban? statikus metódus?. Kör és Egyenes metszéspontjai?. OO?.

cyrus-rosa
Download Presentation

Információs környezetek a szervezésben és a tervezésben

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Információs környezetek a szervezésben és a tervezésben Vég CsabaVeg.Csaba@xsys.hu

  2. I. A probléma

  3. OO? • Pont és Egyenes osztály? • Illeszkedés vizsgálat: • Pont osztályban? • Egyenes osztályban? • statikus metódus? • Kör és Egyenes metszéspontjai? www.xsys.hu

  4. OO? • Játékprogram: szobában felrobbanó bomba megsérti a játékost • Játékos ellenőrzi, hogy hat-e rá valami • A Bomba kezdeményez: • Bomba.robban: játékosok megkeresése • Játékos.sérülés: hatás felvétele • Hogyan lehet módosítani/szűrni a hatást (varázsszoba)? www.xsys.hu

  5. OO? • Készítsünk olyan programot, amelyben egy billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált. • Készítsünk olyan programot, amelyben két billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált. • Ütközés? • Készítsünk olyan programot, amelyben tetszőleges számú billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált. • Ütközés? www.xsys.hu

  6. Információs környezet • Információs környezet: • Pont, Egyenes, Kör: Sík • Játékos, Bomba: Szoba • Biliárdgolyók: Biliárdasztal • Legalapvetőbb jellemzők • ismerheti a tulajdonságait • ismerheti az elemek viszonyait • felelős a hatások átviteléért: közeg • ismerheti a benne elhelyezkedő elemeket www.xsys.hu

  7. Információs környezet • „design pattern” • tradícionális OO egyszerű kiegészítése • szemlélet: • OO: alkalmazás széttöredezése objektumokra • Információs környezetek: viszonyokban való gondolkodás www.xsys.hu

  8. Példák • JavaScript: „külső”-„belső” objektumok • Java belső osztályok: elérik a külső objektum attribútumait és műveleteit • BeanContext: a környezetek szolgáltatásokat definiálhatnak www.xsys.hu

  9. II. Jellemzők

  10. A szerkezet… • a csomag-hierarchiákhoz hasonlóak, de változókkal és műveletekkel („szolgáltatásokkal”) is rendelkeznek • Java csomag: nem alkalmas • általában hierarchikus, ritkább esetben „dag” szerkezetet alkotnak • JScript: hierarchikus objektum-rendszer • az alkörnyezet eléri a tartalmazó „szülő” környezet(ek)et • JScript • egyetlen elem is tekinthető környezetként • külső környezet elérhetőségének biztosítása www.xsys.hu

  11. Viszonyok... • A környezet definiálhatja az objektumok közötti viszonyokat • statikus metódus: „konstans” viszony • nem statikus metódus (szűrési lehetőség): • átdefiniálható • környezeti változók/más elemek • Egyetlen elem adott tulajdonsága www.xsys.hu

  12. Attribútumok… • a környezeteknek lehetnek aktuális értékeik, pl. az aktuálisan kezelt üzleti objektumok • a környezetek alapértelmezésként elérik a külső környezet aktuális értékeit, ill. átdefiniálhatják azokat www.xsys.hu

  13. Műveletek… • A környezeteken keresztül elérhetők szolgáltatások (műveletek) • A környezethez kapcsolódó szolgáltatásnak célszerű transzparensnek lenni: a környezetben meg kell ismételni a műveletet és a hívást delegálni kell • Az alkörnyezet elérheti a külső szolgáltatásait • az alkörnyezetben célszerű megismételni a műveletet és a hívást delegálni kell • Az alkörnyezet újabb szolgáltatásokat definiálhat • Az alkörnyezet átdefiniálhatja a külső szolgáltatásait www.xsys.hu

  14. Származtatás-tartalmazás… • Attribútumok: • a környezetek alapértelmezésként elérik a külső környezet aktuális értékeit, ill. átdefiniálhatják azokat • Szolgáltatások: • Az alkörnyezet elérheti a külső szolgáltatásait • Az alkörnyezet újabb szolgáltatásokat definiálhat • Az alkörnyezet átdefiniálhatja a külső szolgáltatásait www.xsys.hu

  15. Elemek és hatások… • Ismerhetik az elemeket • A környezetek alkalmasak a hatások átvitelére, ill. esetleges szűrésére • Eseménykezelés • Bubbling: DOM2 www.xsys.hu

  16. III. Információs környezetek a fejlesztésben

  17. Ipari minőségű szoftver • környezetek: architektúra váz • lépéssorozat • egzakt, • egyszerűen alkalmazható • áttekinthető • technológiafüggetlen réteg • skálázható design www.xsys.hu

  18. Service Service Service Service Module Module Service UI Service UI Module Model Model UI Model Application www.xsys.hu

  19. VideonBaseTools működtetés Service .sql.VideonData Service Data facade VideonSql Business rules/procs Service Service Alkalmazás ("videon") VideonBase VideonData Videon www.xsys.hu

  20. Service Service Service Service Alkalmazás - kliens VideonBase VideonClientTools VideonData .ejb.VideonData Videon Videon www.xsys.hu

  21. Működtetés • Alkalmazás/Modulok • Elérik a felsők definícióit • Model (konkrét) • Eseménykezelés • Aktuális értékek (property-change jellegű) Service UI Model UI Model www.xsys.hu

  22. Service Application Service Service Service Module Module Service UI Service UI Module Model Model UI Model www.xsys.hu

  23. Business Facade: • Business Rules • Környezetek alapján elhelyezés • Data Acces Facade • Data Facade + Data Item • Technológiafüggetlen elérés + Scalable Design www.xsys.hu

  24. import xsys.*; public interface Casette extends Entity { public String getCode(); public void setCode( String code ); public Date getBorrowDate(); public void setBorrowDate( Date borrowDate ); public Movie getMovie(); // Kapcsolat! public void setMovie( Movie movie ); public Customer getCustomer(); // Kapcsolat! public void setCustomer( Customer customer ); } www.xsys.hu

  25. public interface Movie extends xsys.Entity { public String getTitle(); public void setTitle(String title); public String getOriginalTitle(); public void setOriginalTitle(String originalTitle); public String getDistributor(); public void setDistributor(String distributor); public int getReleaseDate(); public void setReleaseDate(int releaseDate); public String getReleaseDateString(); public void setReleaseDate(String releaseDate); public String getDirector(); public void setDirector(String director); public String getActors(); public void setActors(String actors); public Casette eachCasette(); // több multiplicitás public Advance eachAdvance(); // több multiplicitás } www.xsys.hu

  26. public interface Entity extends java.util.Iterator { public Object id(); // id public void save(); public int size(); // Collection-like public boolean isEmpty(); public void removeAll(); public void add(Object data); public void remove(Object data); public boolean hasNext(); // Iterator/Cursor public Object next(); public void remove(); } www.xsys.hu

  27. Használat Movie movie=videon.getMovie(movieId); // for(Movie movie=videon.eachMovie(); movie.hasNext(); ){ movie.next(); ... if(…) movie.remove(); … } // movie.eachCasette().add( videon.createCasette( code ) ); // movie.eachCasette().removeAll(); // customer.eachCasette().isEmpty() www.xsys.hu

  28. Data Access Facade • Teljes: összes strukturális művelet • Kiterjesztés elemi adatokra ( Values ) • Legalapvetőbb nyelvi eszközök • Minimális redundancia! • Tiszta („elvi”) kép a kliens/BusinessLayer felé • Scalable Design • közvetlen adatelérés (JDBC) • távoli adatelérés (RMI) • J2EE EJB www.xsys.hu

  29. Köszönöm a figyelmet! Veg.Csaba@xsys.hu www.xsys.hu

More Related