Gruppe sort Morten, Peter, Jesper, Spencer & Støving.

Slides:



Advertisements
Lignende præsentationer
SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Advertisements

C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
Februar 2005Sprog-nyheder i C# og VB1 Captator Tlf: Henrik Lykke Nielsen Softwarearkitekt, Microsoft Regional Director for Denmark.
Oktober 2007Overblik over udviklingen af.NET frameworket1 Overblik over udviklingen af.NET frameworket - et kig på de vigtigste nyheder i de seneste versioner.
C#: Data Typer. Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies, written in different languages, to.
RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
Arkitektur Embedded SQL Tema Persistens
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
Effective Java items Orange gruppe Thuy, Janne, Mads T.P., Oliver og Sebastian.
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
1 Nedarvning. 2 Plan Overlæsning af metoder og konstruktører Nedarvning fra klasser Implementering af grænseflader Retningslinjer for design af klasser.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Item gennemgang  Item: 01 – Static factory methods  Item: 09 – Override hashCode  Item: 17 – Design & document inheritence  Item: 25 – Lists over arrays.
Object-Orienteret Programmering og Design. 2 Nordjyllands Erhvervakademi – 2009 Indhold “Classes, objects and object-oriented programming (OOP) play a.
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Arne Winther Et værdifuldt samarbejde mellem hospital og produktudvikler.
1 Parsing. 2 Mål: Et program til indlæsning og beregning af aritmetiske udtryk Eksempel: Beregn (3*5 + 4/2) - 1 Løs et lettere problem først: Læs en streng.
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
Selve objektet versus referencen til objektet Nedarvning
Database Normalization without Mathmatics
02/09/2014 Sygefravær v/Jesper Johansen Director People & Organisation Europe Title slide Edit: Add presentation title and speaker(s). Editing slides in.
Objekter og klasser Applikationsdesign Code Namespace Value og reference typer Reference type Rasmus D. Lehrmann1.
12 – GUI med Swing. 2 NOEA2009Java-kursus – GUI med Swing Designer view Komponenter Frame Properties Inspector.
09 – Arv og polymorfi i java
Hvordan man skriver koden.
WCF service Hostet på website x. Opret tomt web applikations projekt.
Tråde og synkronisering. Tråde To typer tråde Dedikerede tråde -programmør opretter og tilknytter metode -”kører tråd-metoden (job) én gang” Tråd pulje.
Distribution af funktionalitet Webservice med WCF x.
Distribution af funktionalitet Webservice med WCF x.
Abstrakte klasser og interfaces i Java
Object-Orienteret Programmering og Design Kilde: Joe Hummel.
Programering af mobile enheder Windows Phone Storage.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.
Collectionklasser Ekstra materiale. Collections Motivation – hvorfor bruge collections? Realisering af en-til-mange relationer – Importer, erklær, initialiser.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
Forelæsning 3.1 Collections Javas for-each løkke
Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D.
Fundamentale datastrukturer
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Blå gruppe: Søren, Alexander, Torben, Lasse. De 4 vigtige items: - Singelton - Override clone judiciously - Use interfaces only to define type - Prefer.
Forelæsning 7.1 – repetition
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
I o p o DAIMI, AU, November 1999Programkonstruktion I9E.1 Konstruktion og brug af klasser – en stak og en HP-regnemaskine push pop.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Indledende Programmering Uge 6 - Efterår 2006
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
Programmering med interfaces Separering af specifikation, anvendelse og implementation.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
Opdragsgiver Planlægning og udførelse af møde med jeres opdragsgiver.
Klasser og objekter (Afsnit i manualen).
Præsentationens transcript:

Gruppe sort Morten, Peter, Jesper, Spencer & Støving

Item 40 Design method signatures carefully

Design method signatures carefully! (1/3)  Metoder skal gøre én ting  Undgå f.eks. getNamesOfPeopleAndDropRowsWithTheNamesInIT(…)  Undgå mange parametre  Undgå f.eks. getNamesWhere(name, grade, age, skillLevel, class, gender,…);  Brug enums i stedet for booleans som input  Thermometer.newInstance(TemperatureScale.CELSIUS) i stedet for Thermometer.newInstance(true)

Design method signatures carefully! (2/3)  Alle metoder skal være brugbare i flere tilfælde  Undgå f.eks. getPeopleBornIn1990(…);  Brug f.eks.: getName, getLength, getSublist(indexA, indexB);  Ved parametre, brug interfaces i stedet for klasser  Undgå f.eks. setListOfPeople(arraylistOfNames,…);  Brug: setListOfPeople(abstractlistOfNames);  Går an på hvad du har brug for af egenskaber

Design method signatures carefully! (3/3)  Hvad gør denne kode?

Item 60 Favor the use of standard exceptions

Favor the use of standard exceptions (1/3)  Stort udvalg af eksisterende exceptions  Mindre hukommelsesbrug & tid at loade klasserne  Nemmere at genbruge kode  Nemmere for andre at forstå

Favor the use of standard exceptions (2/3)  IllegalArgumentExeption  IllegalStateException  NullPointerException  IndexOutOfBondsException  Eksempel:

Favor the use of standard exceptions (3/3)  Lav gerne specifikke subklasser af eksisterende exceptions  Brug de eksisterende unchecked exceptions hvor det er relevant

Item 30 Use enums instead of int constants

Enums, the wrong way (1/5)  public static final int APPLE_FUJI = 0;  public static final int APPLE_PIPPIN = 1;  public static final int ORANGE_NAVEL = 0;  public static final int ORANGE_TEMPLE = 1;

Enums, the general way (2/5)  Fungerer i princip som egentlige klasser.  Eksporterer en enkel instans for hver enumeringskonstant.  Som altid bedst med public accessor metoder

Interessante metoder (3/5)  Generelt kald  toString()  values()  valueOf(String)

Constant-specific method implementation (4/5)  Nogle gange ønsker man ikke fælles implementation for enums  Derfor kan der erklæres metoder for hver konstant

Private nested enums (5/5)  ”Tvinger” enclosing class til at vælge en implementation

Item 10, 20 & 50

Item 10: Always override toString()  Alle klasser arver toString() fra Object  Returnerer som standard navnet på klassen og objektets hukommelsesadresse  Fortæller intet om klassens indhold Print objektes værdier som klassen Person der printet navn & telefonnummer

Item 20: Prefer class hierarchies to tagged classes Shape Kender sin egen state, om det er en cirkel, trekant eller cirkel Giver meget ulæsbar kode og kan nemt give problemer ved udvidelse Hver klasse arver fra Shape

Item 50: Avoid strings where other types are more appropriate  Strings er for det meste meget langsomme at arbejde med  String id = ”#10203”, hvis man skal bruge nummeret flere gange, skal man parse id hver gang  F.eks. int idNumber = id.parse(…); kun én gang

Shows over! You can go outside and play now!