Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Podobné dokumenty
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.

Vývoj informačních systémů. Přehled témat a úkolů

Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2008 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 24

Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2009 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 25

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET)

Vývoj informačních systémů. Přehled témat a úkolů

Návrhové vzory OMO, LS 2014/2015

ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33

Návrhové vzory pro J2EE. Miroslav Beneš

Návrhové vzory pro J2EE

Literatura. E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Návrhové vzory Dan Doležel

modelu MVC pro tvorbu aplikací

Návrhové vzory. n OO jazyky - široká paleta technických prostředků. n Návrhový vzor. n rozhraní!! n volnější vazby, parametrizace

Vazba (volná, těsná) - míra znalosti jedné třídy*komponenty o druhé.

Využití návrhových vzorů v praxi. Josef Miléř

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

A7B39WPA Webové podnikové aplikace. Zdeněk Kouba Petr Aubrecht Petr Křemen

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Zpracoval:

Návrhové vzory pro GUI

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Architektury informačních systémů

Architektura softwarových systémů

SAP a SUSE - dokonalá symbióza s open source. Martin Zikmund Technical Account Manager

}w!"#$%&'()+,-./012345<ya

Návrhový vzor Factory v JAVA API

Znalostní systém nad ontologií ve formátu Topic Maps

Budování architektury pomocí IAA

Návrhové vzory. Každý návrhový vzor má následující strukturu: Většina publikací návrhové vzory člení do následujících kategorií:

Architektura aplikace

KIV/PIA 2013 Jan Tichava

Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)

Sem vložte zadání Vaší práce.

IS pro podporu BOZP na FIT ČVUT

MVC (Model-View-Controller)

Architektury Informačních systémů. Jaroslav Žáček

KIV/ASWI 2007/2008 Návrh: třídy a struktury pro efektivní implementaci

Architektury informačních systémů

Úvod do Entity Frameworku

Obsah Znovupou ˇzitelnost N avrhov e vzory Z asady programov an ı Radek Koˇc ı Semin aˇr Java N avrhov e vzory, Z asady... 2/ 46

Modelování webových služeb v UML

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Vývoj informačních systémů. Obecně o IS

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

OMO Patterny pro UI. Základy UI - HTML, DOM, JavaScript, CSS. Single Page Application

Projekt Kreslítko X36ASS

VYUŽITÍ MDA PRO INTEGROVANÝ VÝVOJOVÝ NÁSTROJ QI BUILDER

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Správa a sledování SOA systémů v Oracle SOA Suite

Architektury Informačních systémů. Jaroslav Žáček

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Architektura GIS KMA/AGI. Karel Jedlička

IMPLEMENTACE USE CASE POMOCÍ NÁVRHOVÉHO VZORU CONTROLLER

Analýza a Návrh. Analýza

Návrhové vzory Design Patterns

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Tvorba aplikace typu klient/server pomocí Windows Communication Foundation

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Procesní dokumentace Process Management. Pavel Čejka

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

A7B39WPA Webové podnikové aplikace. Zdeněk Kouba Petr Křemen

Petr Vlk KPCS CZ. WUG Days října 2016

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Vzory pro HCI a GUI. Miloš Kudělka. Katedra informatiky PřF UP Olomouc

Návrh softwarových systémů - architektura softwarových systémů

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Usage of modular scissors in the implementation of FEM

(Enterprise) JavaBeans. Lekce 7

Řešení Oracle pro správní centra místních samospráv. Michal Zbořil Solution Specialist Oracle Corporation

Servisně orientovaná architektura Základ budování NGII

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller

SOAP & REST služby. Rozdíly, architektury, použití

Karta předmětu prezenční studium

Architektúra modulu témata

Tvorba informačních systémů

Architektura v organizaci

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

PA165: Úvod do Java EE. Petr Adámek

Content management: organizace informací na webových stránkách. Petr Boldiš Studijní a informační centrum Česká zemědělská univerzita v Praze

INTERACTION BETWEEN DESIGN PATTERNS AND INSTANTIATED OBJECTS BY REFLECTION. Jaroslav Žáček

Objektově orientované programování? Co to je?

Model-View-Controller architektura PHP frameworks

Popis vývoje perzistentního frameworku QuickPersistor v jakyzu C-Sharp

Programovací jazyky Přehled a vývoj

Demilitarizovaná zóna (DMZ)

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Arlow, J., Neustat, I.: UML2 a unifikovaný proces vývoje aplikací. Computer Press, Praha 2007.

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Spring framework 2.0. Roman Pichlík CZJUG

Principy objektového návrhu. Přednáška 8, LS 2013/2014

Transkript:

Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika

Zachman Framework

Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. 1995. Návrh programů pomocí vzorů - Stavební kameny objektově orientovaných programů. 2003. [GoF] Martin Fowler. Patterns of Enterprise Application Architecture. 2003. David Trowbridge, Dave Mancini,Dave Quick, Gregor Hohpe, James Newkirk, David Lavigne. Enterprise Solution Patterns Using Microsoft.NET. 2003. Adam Bien. Real World Java EE Patterns Rethinking Best Practices. 2009.

Gang of Four (1994, 1995) Obecné principy tvorby software 23 vzorů (C++, Smalltalk) Creational patterns Structural patterns Behavioral patterns

Vzory jako připravené návody GoF je pouze začátek. Vzory a jazyky vzorů. Vzor je to, co opakovaně funguje. Existují i antivzory (opakovaně nefungují ).

Struktura vzorů Výstižné jméno (název) Problém (Co) Souvislosti (Kdo, Kdy, Kde, Proč) Řešení včetně UML diagramů (Jak) Příklady včetně zdrojových kódů

GoF Gang of Four patterns Creational Abstract factory, Builder, Factory method, Prototype, Singleton Structural Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy Behavioral Chain of responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template method, Visitor

Fowler (EAA, 2003) Různě rozsáhlá řešení formou katalogu Více než 50 vzorů (Java, C#). Domain Logic Patterns, Data Source Architectural Patterns, Object- Relational Behavioral Patterns, Object-Relational Structural Patterns, Object-Relational Metadata Mapping Patterns, Web Presentation Patterns, Distribution Patterns, Offline Concurrency Patterns, Session State Patterns, Base Patterns Další na http://martinfowler.com/eaadev/

Pohled architekta, návrháře, vývojáře

Třívrstvá architektura Three-Layer Architecture Three-Tier Architecture První se stává druhou, pokud je fyzicky oddělena od toho, kdo ji používá Prezentace, doménová logika, přístup k datům, servisní vrstvy. Klient server, p-vrstvá architektura.

MVC Model View Controller Klíčový koncept návrhu (Trygve Reenskaug, Smalltalk-76) Oddělení vrstev na logické úrovni Minimalizace závislostí, izolovaná modifikace jednotlivých vrstev

MVC - nedorozumění Obvykle vůbec neřeší přístup k datům (ve smyslu přístupu k databázi). Existují variace pro různé platformy a situace. Je nutno chápat jako velmi obecný (a velmi správný) architektonický koncept. Neplést si s třívrstvou architekturou (která je lineární).

Vzory blízké MVC Observer a Data Binding (řešení založená na událostech) Presentation Model a jeho varianta Model View ViewModel (Microsoft) Model View Presenter (Supervising Controller a Passive View) Page Controller a Front Controller (středně složitá a složitá řešení pro web)

Vzory pro enterprise architekturu Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. 1995. (Návrh programů pomocí vzorů - Stavební kameny objektově orientovaných programů. 2003. Martin Fowler. Patterns of Enterprise Application Architecture. 2003. David Trowbridge, Dave Mancini,Dave Quick, Gregor Hohpe, James Newkirk, David Lavigne. Enterprise Solution Patterns Using Microsoft.NET. 2003. Adam Bien. Real World Java EE Patterns Rethinking Best Practices. 2009.

Vzory pro doménovou logiku Transaction script Domain model Table module Service layer

Transaction script Organizes business logic by procedures where each procedure handles a single request from the presentation.

Domain model An object model of the domain that incorporates both behavior and data.

Table module A single instance that handles the business logic for all rows in a database table or view.

Service layer Defines an application's boundary with a layer of services that establishes a set of available operations and coordinates the application's response in each operation.

Který a kdy použít?

Projekt: Specifikace požadavků Funkční požadavky ve formě use-case modelu Use-case diagram (celý systém) Use-case (strukturovaný popis pro 3 scénáře) Diagram aktivit (po jednom k use-case a přes use-case)

Úkoly na cvičení Re-implementuje úkol z předchozího cvičení podle vzorů z přednášky (Transakční skript, Doménový model, Modul pro tabulku).