Suunnittelumallit (design patterns)

Samankaltaiset tiedostot
Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Veto-visualisointityökalu

anna minun kertoa let me tell you

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Choose Finland-Helsinki Valitse Finland-Helsinki

T SEPA - päiväkirja: Design Patterns. ETL työkalu

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

Capacity Utilization


ASUNTOSUUNNITTELU TÄNÄÄN

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Salasanan vaihto uuteen / How to change password

Uusia kokeellisia töitä opiskelijoiden tutkimustaitojen kehittämiseen

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Efficiency change over time

Personal Letter. Letter - Address. Matti Meikäläinen Puistokatu 17 A Helsinki Finland

The CCR Model and Production Correspondence

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

TIETEEN PÄIVÄT OULUSSA

812336A C++ -kielen perusteet,

Small Number Counts to 100. Story transcript: English and Blackfoot

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Miten koulut voivat? Peruskoulujen eriytyminen ja tuki Helsingin metropolialueella

Curriculum. Gym card

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Miksi Suomi on Suomi (Finnish Edition)

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio

Suunnittelumallien käyttö ja web-navimallit

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Venttiilit ja Automaatio

Ohjelmistoarkkitehtuurit kevät

T SEPA - päiväkirja: Design Patterns. ETL työkalu

Co-Design Yhteissuunnittelu

4x4cup Rastikuvien tulkinta

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Travel Accommodations

LoTW ja WAS-awardi. Käännös Jari, OH2BU

AYYE 9/ HOUSING POLICY

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

Biojätteen keruu QuattroSelect - monilokerojärjestelmällä Tiila Korhonen SUEZ

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

make and make and make ThinkMath 2017

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

O-renkaan vaihto-ohje Instructions for replacement of o-ring

OP1. PreDP StudyPlan

Tilausvahvistus. Anttolan Urheilijat HENNA-RIIKKA HAIKONEN KUMMANNIEMENTIE 5 B RAHULA. Anttolan Urheilijat

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition)

Basic Flute Technique

5. Suunnittelumallit. TTY Ohjelmistotekniikka

indexhan wen Club Ambulant -play together

Guidebook for Multicultural TUT Users

Travel Getting Around

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VIII Suunnittelumallit Observer ja State

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

FIS IMATRAN KYLPYLÄHIIHDOT Team captains meeting

kieltenoppimiskertomukseni My Language Biography

1. Liikkuvat määreet

OFFICE 365 OPISKELIJOILLE

Matkustaminen Majoittuminen

Matkustaminen Majoittuminen

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Ohjelmistojen mallintaminen, kesä 2009

Ratkaisumallien historia

TIE Ohjelmistojen suunnittelu

Alueellinen yhteistoiminta

Results on the new polydrug use questions in the Finnish TDI data

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

Olio-ohjelmointi Johdanto suunnittelumalleihin. 1. Yleistä

Tietoa Joensuun Eliittikisoista

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Digitalisoituminen, verkottuminen ja koulutuksen tulevaisuus. Teemu Leinonen Medialaboratorio Taideteollinen korkeakoulu

Luovuudesta muutama lisäys insinöörin työkalupakkiin

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

SENAATTILA uudistuu keväällä 2015

Exercise 1. (session: )

AMPLYVOX DOOR ENTRY SYSTEMS, ROOM UNITS

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille

Sisällysluettelo Table of contents

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen Osa II: Projekti- ja tiimityö

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

4x4cup Rastikuvien tulkinta. 4x4cup Control point picture guidelines

ETELÄESPLANADI HELSINKI

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

HARRASTAVA ILTAPÄIVÄ. Pyynikin koulupolku. Wivi Lönn - Pispala. lv

MUOTINUKEN KANSALLISPUKU Kaavat ja ohjeet. FOLK DRESS FOR A FASHION DOLL Patterns and instructions

Laatu yritystoiminnan ytimessä. Junnu Lukkari

Transkriptio:

Suunnittelumallit (design patterns) Ohjelmoinnissa Rakennusarkkitehtuurissa Käyttöliittymäsuunnittelussa Sear ch Ohjelmointi Suunnittelumallit Usein toistuvia ohjelmointiongelmia ja niiden ratkaisuja: Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Addison-Wesley, USA, 1994. 1

Ohjelmoinnin suunnittelumallit Observer Ongelma: Kun olion tila muuttuu, kaikkien siitä riippuvien olioiden pitäisi päivittyä automaattisesti. Ratkaisu: Em. oliolla on lista, johon olion tilasta kiinnostuneet muut oliot ilmoittautuvat ajon aikana. Kun olion tila muuttuu, olio tiedottaa listalaisiaan siitä. Esimerkki: Siirtopainikkeiden harmaannutuslogiikka kahden taulukon välillä. Esimerkki: Siirtopainikkeet 1. Riippuvuusverkko (ongelmia) Taulukon click-eventissä koodi: Enabloi alas-painikkeet Disabloi ylös-painikkeet Taulukon click-eventissä koodi: Disabloi alas-painikkeet Enabloi ylös-painikkeet Ongelma: Kun tulee muutostarve, esim. Siirrä kaikki alas painike on poistettava => molempien taulukkojen click-eventin koodeja on editoitava. 2

Esimerkki: Siirtopainikkeet 2. Observerin käyttö Jokainen painike on Observer, joka kuuntelee molempia taulukoita. Ohjelman käynnistyksen yhteydessä Siirrä kaikki alas painike ilmoittautuu molempien taulukkojen listoille. Vastaavasti muut painikkeet. Kun käyttäjä klikkaa alempaa taulukkoa, taulukko kertoo kaikille ilmoittautuneille: Oma tilani on muuttunut valituksi. => Alas-painikkeet osaavat disabloida itsensä ja ylös-painikkeet enabloida itsensä. Ratkaisu: Kun Siirrä kaikki alas painike nyt poistetaan kälistä, muita olioita ei tarvitse muuttaa. Rakennusarkkitehtuuri Suunnittelumallit Usein toistuvia ongelmia ja niiden ratkaisuja kaupunkisuunnittelussa ja rakennusarkkitehtuurissa (Christopher Alexander 1977-1979) Pattern-kokoelma: Alexander C., Ishikawa S., Silverstein M., A Pattern Language. Oxford University Press, USA, 1977. Idean ja ajattelutavan kuvaus: Alexander C., The Timeless Way of Building. Oxford University Press, USA, 1979. 3

Rakennusarkkitehtuuri Esimerkkejä suunnittelumalleista Window Place Window Place 4

Window Place Low Sill Ylempien kerrosten ikkunalaudan korkeus 50 cm Ensimmäisessä kerroksessa 30-35 cm Stockmannin Argos-kahvila, Helsinki (2002) Light on Two Sides of Every Room 5

Light on Two Sides of Every Room Wings of Light auttaa toteuttamaan mm. Light on Two Sides of Every Room patternin. Exactumissa periaatteessa olisi jonkinlaisia jälkiä Wings of Light:ista, mutta suunnittelu on epäonnistunut? Light on Two Sides of Every Room puuttuu täysin. Light on Two Sides of Every Room? Hundertwasserhaus, Wien (2002) Hot Springs Village, Bad Blumau (2004) 6

Entrance Transition (living) Entrance Transition (dead) Alexander: The Pattern Language Alexander: The Pattern Language Kunsthaus Wien (2002) Helsingin yliopisto: Exactum (2004) Courtyard (living) Courtyard (dead) Alexander: The Pattern Language Alexander: The Pattern Language Kunsthaus Wien (2002) Helsingin yliopisto: Exactum (2004) 7

Suunnittelukieli (Pattern Language) At the moment when a person is faced with an act of design, he does not have time to think about it from scratch. It is only because a person has a pattern language in his mind, that he can be creative when he builds. The rules of English make you creative because they save you from having to bother with meaningless combination of words. A pattern language does the same. A pattern language gives each person who uses it, the power to create an infinite variety of new and unique buildings, just as his ordinary language gives him the power to create an infinite variety of sentences. Lähde: The Timeless Way of Building Suunnittelukieli Designin rakentaminen Everybody follows rules of thumb. All these rules of thumb or patterns are part of larger systems which are languages. Every person has a pattern language in his mind. You make your designs by using a pattern language. Esim. hyvässä tutkielmassakin on tietyt patternit. Lähde: The Timeless Way of Building 8

Käyttöliittymät Suunnittelukielen ratkaisut Kun suunnittelija lähtee piirtämään käliratkaisua yhden käyttötapauksen pohjalta, hän käyttää niin hyvää suunnittelukieltä kuin osaa. Esimerkki: Leffat Käyttötapaus: Kuutamolla-elokuvaa katsomaan. Markon ja Kaisan tavoite: Marko ja Kaisa ovat kuulleet kavereiltaan kehuja uudesta kotimaisesta Kuutamolla-elokuvasta, jota he ovat menossa katsomaan ensi viikolla. He eivät tiedä, milloin ja missä elokuvaa esitetään. Käyttöliittymien suunnittelukieli? Hyviä suunnitteluratkaisuja Piirros Antti Latva-Koivisto Alkeellisia suunnitteluratkaisuja Hyvin alkeellisia suunnitteluratkaisuja 9

Käyttöliittymät Suunnittelumallit (design patterns) Taitava suunnittelija tuntee useimmin toistuvat ongelmat ja niiden hyvät suunnitteluratkaisut (design patterns) ja osaa nopeasti soveltaa niitä uusiin konteksteihin. Esimerkkejä käyttöliittymien suunnittelumalleista: Continuous Filter Overview beside Detail Sear ch 10