t ypes of m odels
play

T YPES OF M ODELS Prasun Dewan Department of Computer Science - PowerPoint PPT Presentation

T YPES OF M ODELS Prasun Dewan Department of Computer Science University of North Carolina at Chapel Hill dewan@cs.unc.edu Code available at: https://github.com/pdewan/ColabTeaching P RE -R EQUISITES Model-Interactor Separation 2 M ODEL T


  1. T YPES OF M ODELS Prasun Dewan Department of Computer Science University of North Carolina at Chapel Hill dewan@cs.unc.edu Code available at: https://github.com/pdewan/ColabTeaching

  2. P RE -R EQUISITES  Model-Interactor Separation 2

  3. M ODEL T YPES Interactor Model Types of models? 3

  4. G ENERAL P ATTERN Interactor Model Write Read methods methods 4

  5. E XAMPLE Interactor size() add() ASimpleList get() Write Read methods methods 5

  6. L IST M ODELS Interactor size() add() List Model delete() get() Write Read methods methods Models define methods to read and write indexed elements in variable length lists They differ in the set of write methods 6

  7. L OGICAL VS . P HYSICAL S TRUCTURE public class ASimpleList<ElementType> ArrayList  Array? implements SimpleList<ElementType> { List<ElementType> simpleList = new ArrayList(); List<ListObserver<ElementType>> observers = new ArrayList(); Replacing array list with array does not change public void add(ElementType anElement) { logical structure of model, which is determined simpleList.add(simpleList.size(), anElement); by public methods } public void observableAdd(int anIndex, ElementType anElement) { add(anIndex, anElement); notifyAdd(anIndex, anElement); } public void notifyAdd(List<ListObserver<ElementType>> observers, int index, ElementType newValue) { for (ListObserver<ElementType> observer:observers) observer.elementAdded(index, newValue); } … } 7

  8. O THER M ODELS ? Interactor Other important kinds of models? size() add() List Model delete() get() Write Read methods methods Models define methods to read and write indexed elements in variable length lists They differ in the set of write methods 8

  9. B EAN M ODELS Interactor getP1() setP1() Bean Model setP2() getP2() Write Read methods methods Models define getter and setter methods to read fixed number of typed properties 9

  10. R EAD - ONLY AND E DITABLE P ROPERTIES Typed, Named Unit of Exported Object State public class C Name P Bean { Type T public T getP() { Read-only ... } Editable public void setP(T newValue) { Getter method ... } Setter method Bean } convention: For humans Violates Bean newP obtainP and tools 10 convention

  11. I NDEXED B EAN Bean also defines fixed length indexed collections which we will ignore 11

  12. M ODEL C OMPOSITION Bean Model Bean Model List Model Bean Model 12

  13. C OMPOSING H ISTORY M ODEL We already have a model for History 13

  14. E XAMPLE M ODEL C OMPOSITION IM Bean Model Simple Simple List<String> List<Character> History Topic 14

  15. C ONNECTING M ODEL /I NTERACTOR H IERARCHIES Interactor Model Model Model Interactor Interactor A model subtree can be connected to a single interactor Bean Model A model can be connected to an interactor subtree 15

  16. S UMMARY OF M ODELS  Lists  Variable length indexed lists  Differ based on subsets of list operations exposed  Beans  Property collections  Differ in properties  Table model is another important kind not needed in this course  Model composition  Useful when user interfaces are composed  Model hierarchies can be connected to interactor hierarchies in arbitrary ways 16

Recommend


More recommend