пятница, 30 сентября 2011 г.

Embedded Design Patterns

Embedded Design Patterns
еще не успел почитать, но имена архитектур для меня совершенно новы:
- Hierarchical State Machine
- State Machine Inheritance
- ...

Классика паттернов, которая используется в J2EE:
- GoF patterns
- J2EE patterns
- PEAA from Fawler

но самое вкусное - distributed/multithreaded/realtime/... patterns надо искать самому.

Кста, если кто знает еще интересные паттерны - киньте в коммент.

4 комментария:

  1. Паттерны, используемые мною постоянно, отсуствующие в GoF если не ошибаюсь:

    - http://en.wikipedia.org/wiki/Lazy_initialization
    - в некоем своем виде - http://en.wikipedia.org/wiki/Event-Based_Asynchronous_Pattern
    - http://en.wikipedia.org/wiki/Chain_of_responsibility_pattern
    - яблочная вариация на тему обсервера - KeyValueObserving http://cupsofcocoa.wordpress.com/2011/09/10/design-patterns-key-value-observing/
    - Dispatch Queues - начинал чуток с ними возиться, но пока не особо появлялись таски под них - http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html

    ОтветитьУдалить
  2. http://www.amazon.com/exec/obidos/ASIN/0471606952/ref=sim_books/104-8763183-5315916

    ОтветитьУдалить
  3. to "Kostiantyn Sokolinskyi":
    1) - яблочная вариация на тему обсервера - KeyValueObserving http://cupsofcocoa.wordpress.com/2011/09/10/design-patterns-key-value-observing/
    ага, в java тоже похожее есть:
    java.beans.PropertyChangeListener - можно вешать на изменение property, думаю в местном графическом фреймворке (Swing) должно использоваться
    http://download.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html

    О, да тут жирно как разошлись - можно добавлять "veto listeners" [http://download.oracle.com/javase/tutorial/javabeans/writing/properties.html], это называется "Constrained Properties".

    Могу ошибаться, но если к key-value-observing/PropertyChangeListener добавить хитрый диспатчинг кого дергать при каких изменениях, то это уже называется Linda -> Jini -> Gigaspaces
    2) - Dispatch Queues - начинал чуток с ними возиться, но пока не особо появлялись таски под них - http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html
    ага, в java тоже похожее есть: java.util.concurrent.ExecutorService [http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html]

    ОтветитьУдалить