Glass V4, More Info For Your Solution

Size: px
Start display at page:

Download "Glass V4, More Info For Your Solution"

Transcription

1 Glass V4, More Info For Your Solution Mike 1

2 Glass V4, More Info For Your Solution Modeling Mike 2

3 Hello! Mike Edwards 3

4 Modelling NOT THIS KIND 4

5 Modelling THIS KIND 5

6 Modelling Different Patterns Common Mistakes Techniques 6

7 Common Patterns Active Record Data Mapping Wrapping 7

8 Active Record Pattern In software engineering, the active record pattern is an architectural pattern found in software that stores in-memory object data in relational databases. The interface of an object conforming to this pattern would include functions such as Insert, Update, and Delete. - Wiki, Martin Fowler 8

9 Active Record Pattern The Example 9

10 Active Record Pattern - Pro s Simple to use: 10

11 Active Record Pattern - Pro s Simple to pass around: 11

12 Active Record Pattern - Con s Hidden side effects: Surprise!! Pointless 12

13 Active Record Pattern - Cons Coupled to data source: 13

14 Active Record Pattern - Con s Complex: 14

15 Active Record Pattern - Con s Hard to test: How do we mock this?? Ask the FakeDB Guys 15

16 Data Mapper Pattern Data Mapper is a Data Access Layer that performs bidirectional transfer of data between a persistent data store (often a relational database) and an in memory data representation (the domain layer). The goal of the pattern is to keep the in memory representation and the persistent data store independent of each other and the data mapper itself. - Wiki, Martin Fowler 16

17 Data Mapper Pattern The Example 17

18 Data Mapper Pattern The Example 18

19 Data Mapper Pattern The Example 19

20 Data Mapper Pattern Simple Models 20

21 Data Mapper Pattern - Pro s Easy Testing 21

22 Data Mapper Pattern - Pro s Clear Separation My World Their World 22

23 Data Mapper Pattern - Pro s Store Anywhere 23

24 Data Mapper Pattern - Pro s Clear Control Hello!! 24

25 Data Mapper Pattern - Con s Map Unused Data 25

26 Data Mapper Pattern - Con s Expensive Upfront 26

27 Data Mapper Pattern - Con s Disconnection from source Where the hell did you come from? 27

28 Wrappers Models Wraps the underlying data source and converts the data on demand. The internal model contains a reference to the original data source which it uses to perform data conversion. 28

29 Wrappers Models 29

30 Wrappers Models - Pro s Cheap Up Front No work done here! Only accessed properties require conversion. 30

31 Wrappers Models - Pro s Hidden State Changes What happens if this changes 31

32 Wrappers Models - Pro s Hidden State Changes Are these the same? 32

33 Wrappers Models - Con s Testing Difficulty Can t test because of this. Need to understand this Have to write data conversion code 33

34 Wrappers Models - Meet my partner Coupling I ask for this 34

35 Wrappers Models - Meet my partner Coupling I get this 35

36 Common Problems Anemic domain model Bloated domain model Skinny domain model Indiscreet domain model 36

37 Anemic Domain Model Anemic domain model is the use of a software domain model where the domain objects contain little or no business logic (validations, calculations, business rules etc). - Wiki, Martin Fowler 37

38 Anemic Domain Model - Example Feed Me!! 38

39 Anemic Domain Model 39

40 Bloated Domain Model A Bloated Domain Model is the use of a software domain model that contains a large number of properties that are never access or required by the application. - Mike E 40

41 Bloated Domain Model 41

42 Bloated Domain Model Fixed 42

43 Skinny Domain Model A Skinny Domain Model is the use of a software domain model that contains one or very few properties. - Mike 43

44 Skinny Domain Model Skinny Domain model 44

45 Skinny Domain Model Fixed USE THE RAW API! 45

46 Indiscreet Domain Model A Indiscreet Domain Model is the use of a software domain model that exposes all it s properties publically even if they should or should not be accessed by external code. - Mike E 46

47 Indiscreet Domain Model 47

48 Indiscreet Domain Model Fixed 48

49 Techniques Interface Models Template Models Rendering Models MVC MVP 49

50 Interface Models Domain models defined using interfaces only. Interface are dynamically implemented at run time using a proxy framework. 50

51 Interface Models 51

52 Interface Models Multiple Inheritance Very little code Often Anemic Indiscreet 52

53 Interface Models Spoofing Logic 53

54 Template Models 54

55 Template Models Code generation friendly Easy to sync Bloated Indiscreet Anemic 55

56 Rendering Models 56

57 Rendering Models Use case specific Minimum number of properties Custom methods Model explosion Magic Properties Problem Skinny 57

58 MVC Models Model view controller (MVC) is a software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. - - Wiki 58

59 MVC Models What do we pass to the view? 59

60 MVC Models The View Model Explicitly defines the contract Easy to expand Use convention Separates Domain from View 60

61 MVC Models Easy to find 61

62 MVC Models Easy to identify! 62

63 And don t forget MVP! MVP is a user interface architectural pattern engineered to facilitate automated unit testing and improve the separation of concerns in presentation logic. - Wiki 63

64 MVP 64

65 MVP is similar to MVC 65

66 MVP or MVC? 66

67 Finished!! Questions? 67

68 Find Me: Mike Edwards 68

69 Thank you [Reserved for sponsor logo s] 69

DESIGN PATTERNS MOCK TEST DESIGN PATTERNS MOCK TEST III

DESIGN PATTERNS MOCK TEST DESIGN PATTERNS MOCK TEST III http://www.tutorialspoint.com DESIGN PATTERNS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Design Patterns Framework. You can download these sample

More information

Oracle Forms Modernization Through Automated Migration. A Technical Overview

Oracle Forms Modernization Through Automated Migration. A Technical Overview Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3

More information

A Pattern Language for MVC Derivatives

A Pattern Language for MVC Derivatives A Pattern Language for MVC Derivatives Sami Lappalainen Aalto University School of Science Department of Computer Science sami.k.lappalainen@iki.fi Takashi Kobayashi Tokyo Institute of Technology School

More information

Installing Movie Magic on Windows

Installing Movie Magic on Windows Installing Movie Magic on Windows Installing Movie Magic on Windows The following steps will describe how to install Movie Magic on Windows. These same instructions apply to both Movie Magic Budgeting

More information

Clean Architecture Patterns, Practices, and #DevSum17

Clean Architecture Patterns, Practices, and #DevSum17 Clean Architecture Patterns, Practices, and Principles @matthewrenze #DevSum17 About Me Independent consultant Education B.S. in Computer Science (ISU) B.A. in Philosophy (ISU) Community Public Speaker

More information

Web Application Architectures

Web Application Architectures Web Application Architectures Internet Engineering Spring 2018 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline MVC Design Pattern Multilayer Design Microservices Architecture

More information

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 6: Design Patterns Links to Design Pattern Material 1 http://www.oodesign.com/ http://www.vincehuston.org/dp/patterns_quiz.html Types of Design Patterns 2 Creational

More information

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control

More information

Magento Technical Guidelines

Magento Technical Guidelines Magento Technical Guidelines Eugene Shakhsuvarov, Software Engineer @ Magento 2018 Magento, Inc. Page 1 Magento 2 Technical Guidelines Document which describes the desired technical state of Magento 2

More information

Clean Architecture Patterns, Practices, and #sddconf

Clean Architecture Patterns, Practices, and #sddconf Clean Architecture Patterns, Practices, and Principles @matthewrenze #sddconf About Me Independent consultant Education B.S. in Computer Science (ISU) B.A. in Philosophy (ISU) Community Public Speaker

More information

Tracking changes in Hybrid Identity environments with both Active Directory and Azure Active Directory

Tracking changes in Hybrid Identity environments with both Active Directory and Azure Active Directory Tracking changes in Hybrid Identity environments with both Active Directory and Azure Active Directory Presenters: Sander Berkouwer Senior Consultant at SCCT 10-fold Microsoft MVP Active Directory aficionado

More information

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM FlexJS OmPrakash Muppirala @bigosmallm bigosmallm@apache.org Apache Flex PMC Member Advisory Software Engineer, IBM Who am I? Advisory Software Engineer at IBM Apache Flex Committer and PMC Member UI Architect

More information

API: Design-First Approach Author : Bidyut Bhattacharjee

API: Design-First Approach Author : Bidyut Bhattacharjee Whitepaper API: Design-First Approach Author : Bidyut Bhattacharjee Contents 1. What is an API and Why is it Needed 3 2. 3. 4. What Defines a Good API? API Design-First Approach Summary 3 4-5 6 L&T Infotech

More information

The Adapter Pattern. Interface with anything!

The Adapter Pattern. Interface with anything! The Adapter Pattern Interface with anything! Adapter in a Nutshell - An adapter takes an object with one interface, and changes the interface to make it look like something it s not. - Allows two objects

More information

Spring Persistence. with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY

Spring Persistence. with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY Spring Persistence with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY About the Authors About the Technical Reviewer Acknowledgments xii xiis xiv Preface xv Chapter 1: Architecting Your Application with

More information

Step by Step process to activate guest access in Microsoft Teams.

Step by Step process to activate guest access in Microsoft Teams. Step by Step process to activate guest access in Microsoft Teams. External access with Microsoft Teams Microsoft Teams has started allowing guest access in organization to collaborate or communicate with

More information

The Voyager SOA Platform

The Voyager SOA Platform The Voyager SOA Platform SOA Without all the Framework Baggage By Daniel Brookshier Java Architect turbogeek@cluck.com Recursion Software, Inc. September 9, 2005 TABLE OF CONTENTS The Voyager SOA Platform...1

More information

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR Mavrig a Tcl application construction kit Jean-Claude Wippler Equi 4 Software, NL EuroTcl 2008, Strasbourg, FR Let s write an app Tons of packages to build with - Tcllib, etc Choose:! file structure, dev

More information

New ArcGIS Server Application Developers? Experience in Programming with Java? Knowledge of Web Technologies? Experience with the Java WebADF?

New ArcGIS Server Application Developers? Experience in Programming with Java? Knowledge of Web Technologies? Experience with the Java WebADF? Extending ArcGIS Server with Java Eric Bader Dan O Neill Ranjit Iyer Introductions 75 minute session 60 65 minute lecture 10 15 minutes Q & A following the lecture Who are we? Dan O Neill - Lead SDK Engineer,

More information

Architecting ios Project. Massimo Oliviero

Architecting ios Project. Massimo Oliviero Architecting ios Project Massimo Oliviero Massimo Oliviero Freelance Software Developer web http://www.massimooliviero.net email massimo.oliviero@gmail.com slide http://www.slideshare.net/massimooliviero

More information

Super Charge Your Continuous Integration Deployments. Nikola Gotsev April 26, 2016

Super Charge Your Continuous Integration Deployments. Nikola Gotsev April 26, 2016 Super Charge Your Continuous Integration Deployments Nikola Gotsev April 26, 2016 What is Continuous Integration? Wasn`t that the same as Continuous Deployment? Or was it related to the source control

More information

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of

More information

Miki Guest lecture at Abo Akademi University

Miki Guest lecture at Abo Akademi University Miki (@Vaadin) Guest lecture at Abo Akademi University Why? Architectural styles MVC MVP Vaadin UI architecture Agile and architecture 2014-09-22 miki@vaadin.com }> @mikiolsz 3 What makes architecture

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering III. Specifying Software III. Specifying Software Goals: Defining what the software should do (before it is really there) Customer and

More information

Effective Team Collaboration with Simulink

Effective Team Collaboration with Simulink Effective Team Collaboration with Simulink A MathWorks Master Class: 15:45 16:45 Gavin Walker, Development Manager, Simulink Model Management 2012 The MathWorks, Inc. 1 Overview Focus: New features of

More information

HTML5 Report Creator Colorado School of MInes Field Session 2014 June 17, 2014

HTML5 Report Creator Colorado School of MInes Field Session 2014 June 17, 2014 HTML5 Report Creator Colorado School of MInes Field Session 2014 June 17, 2014 Tyler Lyons Anthony Nguyen Kolten Robison Table of Contents Client Background & Product Vision 3 Requirements 4 System Architecture

More information

Synthesis Reference. What is Synthesis?

Synthesis Reference. What is Synthesis? Synthesis Reference What is Synthesis? Synthesis is a development framework for Sitecore CMS that enables developing more reliable and maintainable sites in less time than traditional Sitecore development.

More information

The Design Patterns Matrix From Analysis to Implementation

The Design Patterns Matrix From Analysis to Implementation The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley

More information

A Quick Database Comparison of Db4o and SQL Databases through Cayenne

A Quick Database Comparison of Db4o and SQL Databases through Cayenne A Quick Database Comparison of Db4o and SQL Databases through Cayenne Peter Karich August 11, 2007, Bayreuth 1 Contents 1 Design 3 1.1 Pros....................................... 3 1.2 Cons.......................................

More information

SharePoint 2013 for End Users - Microsoft Official

SharePoint 2013 for End Users - Microsoft Official Page 1 of 10 s Overview This SharePoint 2013 End User class is for end users working in a SharePoint 2013 environment. The course teaches SharePoint basics such as working with lists and libraries as well

More information

Build Testable Client and Service Applications

Build Testable Client and Service Applications Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP

More information

Treating Framework Fatigue With JavaScript

Treating Framework Fatigue With JavaScript Treating Framework Fatigue With JavaScript Tim Doherty Software Architect /in/timdoherty timdoherty.net ??? Hey, this one looks cool! You May Suffer From Framework Fatigue Symptoms Confusion One-way reactive

More information

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt

More information

Web Service. Development. Framework and API. Management. Strategy and Best Practices. Yong Cao The Boeing Company RROI #: CORP

Web Service. Development. Framework and API. Management. Strategy and Best Practices. Yong Cao The Boeing Company RROI #: CORP RROI #: 17-00633-CORP Web Service Development Framework and API Management Strategy and Best Practices Yong Cao The Boeing Company GPDIS_2017.ppt 1 Vision: Service and Web APIs Legacy Apps COTS Web APIs

More information

Chapter 8 Web Services Objectives

Chapter 8 Web Services Objectives Chapter 8 Web Services Objectives Describe the Web services approach to the Service- Oriented Architecture concept Describe the WSDL specification and how it is used to define Web services Describe the

More information

Click to edit Master title style. Click to edit Master title style

Click to edit Master title style. Click to edit Master title style Click to edit Master title style Click to edit Master title style Active Network Management Getting Connected in the East Riding David van Kesteren Northern Powergrid Click Introduction Click to to edit

More information

EF6 - Version: 1. Entity Framework 6

EF6 - Version: 1. Entity Framework 6 EF6 - Version: 1 Entity Framework 6 Entity Framework 6 EF6 - Version: 1 4 days Course Description: Entity Framework is the new ORM and data access technology introduced by Microsoft. Entity framework provides

More information

JAVA Training Overview (For Demo Classes Call Us )

JAVA Training Overview (For Demo Classes Call Us ) JAVA Training Overview (For Demo Classes Call Us +91 9990173465) IT SPARK - is one of the well-known and best institutes that provide Java training courses. Working professionals from MNC's associated

More information

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri Esri UC 2014 Demo Theater New at 10.3 is the ArcGIS Pro Application - Extensibility is provided by

More information

[MS55199]: SharePoint 2016 End User Training. Audience Profile This course is intended for new and existing users of SharePoint.

[MS55199]: SharePoint 2016 End User Training. Audience Profile This course is intended for new and existing users of SharePoint. [MS55199]: SharePoint 2016 End User Training Length : 3 Days Audience(s) : Information Workers Level : 100 Technology : Microsoft SharePoint Server Delivery Method : Instructor-led (Classroom) Course Overview

More information

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world

More information

Code architecture and organisation

Code architecture and organisation RenderDoc Code architecture and organisation This document covers RenderDoc at a high level, giving you an idea of how the UI is separated from the rest of the code and generally how the capture & replay

More information

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella ArcGIS Runtime SDK for.net Building Apps Antti Kajanus akajanus@esri.com David Cardella dcardella@esri.com Thank You to Our Generous Sponsor SDK Highlights High-performance 2D and 3D mapping Integration

More information

BUILDING THE FASTEST DRUPAL OF THE GALAXY

BUILDING THE FASTEST DRUPAL OF THE GALAXY BUILDING THE FASTEST DRUPAL OF THE GALAXY Hello! I AM MATEU AGUILÓ I am a senior developer at Lullabot You can find me at @e0ipso Hi! I AM PEDRO GONZÁLEZ I am a sysadmin at sbit.io You can find me at @NITEMAN_es

More information

1 2 http://www.d.umn.edu/~gshute/softeng/object-oriented.html Polymorphism and overloading can lead to confusion if used excessively. However, the capability of using words or names to mean different things

More information

I really like Exclaimer: they do well-written, stable software. Robert Pearman, Microsoft MVP.

I really like Exclaimer: they do well-written, stable software. Robert Pearman, Microsoft MVP. I really like Exclaimer: they do well-written, stable software Robert Pearman, Microsoft MVP www.exclaimer.com Make Yourself Memorable Get vivid signatures on every email sent: from Outlook, OWA, your

More information

Façade and the DP Wrap-Up

Façade and the DP Wrap-Up Façade and the DP Wrap-Up 1 Which pattern does this class diagram from the Factory chapter call out for? A. Strategy B. Decorator C. Adapter D. Factory 2 B: Decorator Discussion We see a combinatorial

More information

Building Multi-Channel Applications using Frameworks. Jörg Jungjohann, Systor AG

Building Multi-Channel Applications using Frameworks. Jörg Jungjohann, Systor AG Building Multi-Channel Applications using Frameworks Jörg Jungjohann, Systor AG Building Multi-Channel Applications using Frameworks Business Case Technical Issues Demonstration 26.03.2011, Jörg Jungjohann,

More information

Stephen Edwards. What is unit testing? Manuel Pérez- Quiñones. Virginia Tech. You betcha! For you: Repeatedly check behaviors of many student programs

Stephen Edwards. What is unit testing? Manuel Pérez- Quiñones. Virginia Tech. You betcha! For you: Repeatedly check behaviors of many student programs Software test == a check on the behavior of some piece of code The Absolute Beginner s Guide to JUnit in the Classroom Stephen Edwards Manuel Pérez- Quiñones Virginia Tech What is unit testing? Unit test

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

Overview and Technical Design Insurance Agent Portal, Pomegranate

Overview and Technical Design Insurance Agent Portal, Pomegranate Overview and Technical Design Insurance Agent Portal, Pomegranate This document describes the features and technical design of the exemplar code-named Pomegranate. This application is a SharePoint (ASP.Net)

More information

User Interfaces for Web Sites and Mobile Devices. System and Networks

User Interfaces for Web Sites and Mobile Devices. System and Networks User Interfaces for Web Sites and Mobile Devices System and Networks Computer Systems and Networks: Device-Aware Interfaces Interfaces must take into account physical constraints of computers and networks:

More information

Extensibility, Componentization, and Infrastructure

Extensibility, Componentization, and Infrastructure Extensibility, Componentization, and Infrastructure Ted Slupesky (slupesky@us.ibm.com) Copyright 2006 IBM Corp. Available under terms of the Eclipse Public License http://www.eclipse.org/legal/epl-v10.html

More information

Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department

Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department Introduction Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department Many of the images in this presentation come from the

More information

SharePoint 2016 End User Training

SharePoint 2016 End User Training CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: SharePoint 2016 End User Training Course: 55199A; Duration: 3 Days; Instructorled (Classroom) Learn to integrate Office applications with SharePoint 2016.

More information

Services that reach from the inside out

Services that reach from the inside out Services that reach from the inside out July 19, 2006 Jim Tyhurst, Ph.D. Consultant Tyhurst Technology Group LLC Portland, Oregon jim06@tyhurst.com Outline Architectural context The problem Additional

More information

MVC / MVP Mei Nagappan

MVC / MVP Mei Nagappan Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Reid Holmes - Head First Design Patterns MVC / MVP Mei Nagappan [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/

More information

Model-view-controller. An architecture for UI

Model-view-controller. An architecture for UI Model-view-controller An architecture for UI 1 The flow of information (idealized) Flow of information 0 Event 1 Changes Controller 3 Pixels O S Application Model View 2 State 2003 T. S. Norvell Engineering

More information

PS-80 Storing Data in the Right Place in Deltek Vision

PS-80 Storing Data in the Right Place in Deltek Vision PS-80 Storing Data in the Right Place in Deltek Vision Loren Saunders Owner: Saunders Consulting Group, LLC PS-80 Storing Data in the Right Place What it may feel like Deltek Vision is a massive application.

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

Using Design Patterns in Java Application Development

Using Design Patterns in Java Application Development Using Design Patterns in Java Application Development ExxonMobil Research & Engineering Co. Clinton, New Jersey Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S.

More information

A Proposal to Add a Const-Propagating Wrapper to the Standard Library

A Proposal to Add a Const-Propagating Wrapper to the Standard Library Doc number: N4057 Revises: N3973 Date: 2014-07-02 Project: Programming Language C++, Library Evolution Working Group Reply-to: Jonathan Coe Robert Mill A Proposal

More information

Modern App Architecture

Modern App Architecture Modern App Architecture Brent Edwards Principal Lead Consultant Magenic Level: Intermediate BrentE@magenic.com @brentledwards http://www.brentedwards.net https://github.com/brentedwards BRENT EDWARDS MyVote

More information

A c t i v e w o r k s p a c e f o r e x t e r n a l d a t a a g g r e g a t i o n a n d S e a r c h. 1

A c t i v e w o r k s p a c e f o r e x t e r n a l d a t a a g g r e g a t i o n a n d S e a r c h.   1 A c t i v e w o r k s p a c e f o r e x t e r n a l d a t a a g g r e g a t i o n a n d S e a r c h B a l a K a n t h i www.intelizign.com 1 Active workspace can search and visualize PLM data better! Problems:

More information

Automated Acceptance Testing

Automated Acceptance Testing Automated Acceptance Testing Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2004-01-28, Automated Acceptance Testing, Slide 1 Target audience and Objectives

More information

1Copyright 2012, Oracle and/or its affiliates. All rights reserved.

1Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Patterns of SaaS: Database refactoring Leonid Igolnik, Marcin Burlinski Insert Picture Here The following is intended to outline our

More information

CSE 70 Final Exam Fall 2009

CSE 70 Final Exam Fall 2009 Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15

More information

The Definitive Guide to Django

The Definitive Guide to Django The Definitive Guide to Django Web Development Done Right, Second Edition cession No. ok ID for signout Adrian Holovaty and Jacob Kaplan-Moss 882 Apresse Contents at a Glance About the Author....................................

More information

Client Configuration Cookbook

Client Configuration Cookbook Sitecore CMS 6.2 Client Configuration Cookbook Rev: 2009-10-20 Sitecore CMS 6.2 Client Configuration Cookbook Features, Tips and Techniques for CMS Architects and Developers Table of Contents Chapter 1

More information

Pricing & Info Packet

Pricing & Info Packet Pricing & Info Packet Answering Servi e Affordable Answering Service Rates & Services Serving cusotmers since 1998 No additional fees for nights, weekends & holidays Simple rate plans. Per minute rate

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 11 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap I Software Development Processes (cont.) I Project Planning I Design

More information

Composite Pattern. IV.4 Structural Pattern

Composite Pattern. IV.4 Structural Pattern IV.4 Structural Pattern Motivation: Compose objects to realize new functionality Flexible structures that can be changed at run-time Problems: Fixed class for every composition is required at compile-time

More information

Notes Discussed project needs and possible tool use Everything needs to be documented very well for future use Stretch goal discussed

Notes Discussed project needs and possible tool use Everything needs to be documented very well for future use Stretch goal discussed Team meeting 1 - Creation of Team VERITAS Meeting time - 3:30-4:30 9/5/2017 Discussed project Created team contract, can be found with each member and on team wiki Decided on specific jobs and which person

More information

Getting Started with Bookerville: CREATING PROPERTIES

Getting Started with Bookerville: CREATING PROPERTIES Getting Started with Bookerville: CREATING PROPERTIES TAB 1: PROPERTY SETUP Create Your First Property - Introduction To create your first property, give yourself some time and make sure you have handy

More information

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases Cisco CloudCenter Solution with Cisco ACI: Common Use Cases Cisco ACI increases network security, automates communication policies based on business-relevant application requirements, and decreases developer

More information

SharePoint 2013 End User

SharePoint 2013 End User SharePoint 2013 End User Course 55031A; 3 Days, Instructor-led Course Description This SharePoint 2013 End User class is for end users working in a SharePoint 2013 environment. The course teaches SharePoint

More information

ABAP DSL Workbench SAP TechED 2016

ABAP DSL Workbench SAP TechED 2016 ABAP DSL Workbench SAP TechED 2016 Barcelona, November 2016-0 - Hello. Hello. Example Asia Diner Yes? Number 77. Take away? No. Hello. Hello. Hello. Hello. As always? Yes. As always? Yes. Where are the

More information

Installing and getting started with Xcode for Mac OS.

Installing and getting started with Xcode for Mac OS. Installing and getting started with Xcode for Mac OS. 1. Go to the Mac App store. Do a search for Xcode. Then download and install it. (It s free.) Give it some time it may take a while. (A recent update

More information

SharePoint 2013 Site Owner

SharePoint 2013 Site Owner SharePoint 2013 Site Owner Effective Content and Document Collaboration with Axalta Teams 9 May 2014 Instructor: Jason Christie Site Owner Course Topics to be Covered Content Management Creating and configuring

More information

What's New in Sitecore CMS 6.4

What's New in Sitecore CMS 6.4 Sitecore CMS 6.4 What's New in Sitecore CMS 6.4 Rev: 2010-12-02 Sitecore CMS 6.4 What's New in Sitecore CMS 6.4 This document describes the new features and changes introduced in Sitecore CMS 6.4 Table

More information

Traditional Smalltalk Playing Well With Others Performance Etoile. Pragmatic Smalltalk. David Chisnall. August 25, 2011

Traditional Smalltalk Playing Well With Others Performance Etoile. Pragmatic Smalltalk. David Chisnall. August 25, 2011 Étoilé Pragmatic Smalltalk David Chisnall August 25, 2011 Smalltalk is Awesome! Pure object-oriented system Clean, simple syntax Automatic persistence and many other great features ...but no one cares

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

The Future of the Realtime Web BETTER APIS WITH GRAPHQL. Josh

The Future of the Realtime Web BETTER APIS WITH GRAPHQL. Josh The Future of the Realtime Web BETTER APIS WITH GRAPHQL Josh Price @joshprice STEPPING STONES TO FP Language (Elixir) Strongly-Typed APIs (GraphQL) GRAPHQL WAS HERE? http://whiteafrican.com/2008/05/12/crossing-the-mapping-chasm/

More information

Web API Best Practices

Web API Best Practices Web API Best Practices STEVE SMITH ARDALIS.COM @ARDALIS STEVE@DEVIQ.COM DEVIQ.COM Learn More After Today 1) DevIQ ASP.NET Core Quick Start http://aspnetcorequickstart.com DEVINTFALL17 20% OFF! 2) Microsoft

More information

Sage CRM Connector for Sage X3 version 4.2 Troubleshooting Guide. Updated: November 2017

Sage CRM Connector for Sage X3 version 4.2 Troubleshooting Guide. Updated: November 2017 Sage CRM Connector for Sage X3 version 4.2 Troubleshooting Guide Updated: November 2017 2017, The Sage Group plc or its licensors. Sage, Sage logos, and Sage product and service names mentioned herein

More information

WHO WANTS TO BE A DESILLIONAIRE GAME RULES INTERNATIONAL TEAM OF EXPERTS MAIN IDEA INTERACTIVE SYSTEMS SOFTWARE ARCHITECTURAL STYLES

WHO WANTS TO BE A DESILLIONAIRE GAME RULES INTERNATIONAL TEAM OF EXPERTS MAIN IDEA INTERACTIVE SYSTEMS SOFTWARE ARCHITECTURAL STYLES SOFTWARE ARCHITECTURAL STYLES WHO WANTS TO BE A DESILLIONAIRE What isn t it what is it what is it good for!2 GAME RULES One person at a time 15 seconds answer time help: ask a friend, poll the audience,

More information

Key Concepts in EPiServer 7

Key Concepts in EPiServer 7 Key Concepts in EPiServer 7 (for developers) Jeff Wallace Solution Architect #epi2012 episerver.com/epi2012 Definitions A Property is a content item an editor can assign a value to A Block Type is set

More information

TRANSFORM YOUR SITECORE EXPERIENCE

TRANSFORM YOUR SITECORE EXPERIENCE TRANSFORM YOUR SITECORE EXPERIENCE BRAINJOCKS SCORE FOR DEVELOPERS Investing in Sitecore for enterprise web capabilities is a no brainer. But what comes next developing great sites quickly and efficiently

More information

17.11 Bean Rules persistent

17.11 Bean Rules persistent 17.10 Java Beans Java beans are a framework for creating components in Java. AWT and Swing packages are built within this framework Made to fit in with graphic development environments such as Jbuilder

More information

Technology modeling. Ralf Lämmel Software Languages Team University of Koblenz-Landau

Technology modeling. Ralf Lämmel Software Languages Team University of Koblenz-Landau Technology modeling Ralf Lämmel Software Languages Team University of Koblenz-Landau Technologies are at the heart of software development. Let s model them for understanding. 1 Different kinds of software

More information

Going Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke

Going Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke Going Reactive Reactive Microservices based on Vert.x JavaLand Kristian Kottke Whoami Kristian Kottke Lead Software Engineer -> iteratec Interests Software Architecture Big Data Technologies Kristian.Kottke@iteratec.de

More information

Trustworthy Proxies Virtualizing Objects with Invariants. Tom Van Cutsem (VUB) and Mark S. Miller (Google)

Trustworthy Proxies Virtualizing Objects with Invariants. Tom Van Cutsem (VUB) and Mark S. Miller (Google) Trustworthy Proxies Virtualizing Objects with Invariants Tom Van Cutsem (VUB) and Mark S. Miller (Google) Context ECMA-262 5 th Edition / December 2009 ECMAScript Language Specification Reference number

More information

WHAT APPLICATION DEVELOPERS SHOULD KNOW ABOUT SQL SERVER?

WHAT APPLICATION DEVELOPERS SHOULD KNOW ABOUT SQL SERVER? WHAT APPLICATION DEVELOPERS SHOULD KNOW ABOUT SQL SERVER? MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN.PARTY, AUSTRIA SQL SATURDAY MUNICH, 8 TH OCTOBER 2016 Our Sponsors Miloš Radivojević Data

More information

AN ARCHITECTURAL PATTERN FOR ADAPTABLE MIDDLEWARE INFRASTRUCTURE

AN ARCHITECTURAL PATTERN FOR ADAPTABLE MIDDLEWARE INFRASTRUCTURE AN ARCHITECTURAL PATTERN FOR ADAPTABLE MIDDLEWARE INFRASTRUCTURE University of North Florida Jason Mitchell Arturo Sanchez Ph.D. Project Director Project Goals To define an architectural pattern that allows

More information

Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications

Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications 2009 International Conference on Computer Engineering and Technology Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications Sung-Kooc Lim Information and Communications

More information

SOA = Same Old Architecture?

SOA = Same Old Architecture? SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a

More information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang

More information

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48 Index A accessor methods, 11, 152 add parameter technique, 189 190 add() method, 286 287, 291 algorithm, substituting, 104 105 AND logical operator, 172 architectural design patterns, 277 278 architecture,

More information

Client Configuration Cookbook

Client Configuration Cookbook Sitecore CMS 6.4 or later Client Configuration Cookbook Rev: 2013-10-01 Sitecore CMS 6.4 or later Client Configuration Cookbook Features, Tips and Techniques for CMS Architects and Developers Table of

More information