Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.

Slides:



Advertisements
Liknande presentationer
Snabbguide och tips.
Advertisements

Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Mjukvara och nätverk Vad är det?.
Klasser och objekt.
”Ett sätt att distribuera Business Objects via webben”
Funktioner och programorganisation
Programmeringsteknik
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Sweden SharePoint User Group WictorWilén
Föreläsning 1.
Arv.
Inkapsling.
Objektorienterad tänkande
Programmering II C#, ID1304.
Programmeringsteknik K och Media
Att programmera i språket Java
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Först lite addenda till gårdagen …. (tomt element) eller (med elementinnehåll) attributet target för att identifiera ett mål Korsreferenser See especially.
Nätverk Logistikprogrammet 2012.
Alice in Action with Java
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
i olika programmeringsspråk
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö.
Datasamlingar och generiska enheter
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Räckvidd och synlighet. Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 Synlighet (meddelandesändning) Det.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
TEI Header Mats Dahlström Digitalisering av kulturarvet April 2007.
Projekt och Arkitektur
1. En infrastruktur för programutveckling
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 3.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Namnrum, räckvidd och rekursion Linda Mannila
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Java paket och jar-filer
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Utvecklingsprocessen Webbutveckling. Utvecklingsprocessen Bli inte rädd för alla begrepp och alla verktyg man verkar behöva kunna. Du måste inte använda.
INTRODUKTION TILL PROGRAMMERING
Styrteknik: Programmering med IEC PLC1A:1
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Föreläsning 4 Klasser Och Objekt.
1. Ett problem/uppgift.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Arv repetition Arv = Är relation Tillgänglighet public, protected och private. Överklass ös Direkt härledd underklass dhu: Class dhu : public ös{} Indirekt.
Programmering i C# Laborationer.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Programmeringsteknik för K och Media
Windows Live Messenger. MSN. Vad är Windows Live Messenger ? Ett klient program för direktmeddelanden, dvs ett program som laddas ned från Internet och.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Gruppövning 0.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Föreläsning 1 Introduktion till kursen. Algoritmer
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Begreppsförklaring.
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Versioning.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
RMI Av: Josefina & Sarah DS04.
Presentationens avskrift:

Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly

2 Assembly  En assembly definieras som en logisk binär kodmängd.  Fysiskt är en assembly EXE eller DLL filer.  Assemblyer utgör byggstenar i.NET ramverk applikationer.  En assembly kan bestå av en eller flera filer.  Kompilerad kod i.NET är i själva verket en assembly trots att den heter EXE eller DLL.  Det är stor skillnad mellan dessa och de tidigare EXE och DLL filer.

3.NET assembly  En.NET assembly är en självbeskrivande binär, innehållande typer (klasser, gränssnitt, delegater, strukturer och enumeraturer) och eventuellt resurser (bilder, GUI element, etc) som tillsammans bygger en körbar enhet (EXE eller DLL).  Komponenter måste paketeras som en assembly (dll) för att kunna användas i andra applikationer.  Version av varje komponent är den som gäller för den assembly komponenten finns i.

4 Manifest  Varje assemblyfil innehåller information om sig själv. Detta kallas för manifest eller assemblymetadata.  Assemblymanifest är en datastruktur som lagrar information om assemblyn i själva assemblyfilen (dll/exe).  Informationen består av  versions information  list av de ingående filer  mm

5 Innehåll och mål  Assemblyer innehåller nödvändig data till CLR  Version  Återanvänding  Rättigheter  Säkerhet  Assemblyer har designats för att:  underlätta distribution (deployment) av applikationer  lösa versionshanterings problem (jmf com-applikationer)  lösa DLL-hell problemet

6 Självbeskrivande  Metadata (data om data)  har komplett information om varje typ som ingår i aktuell modul samt de typer externa moduler som programmet använder sig av.  Manifest (assembly metadata, data om assembly)  har data om varje modul i assemblyn  sätter version för assemblyn  dokumenterar även externa moduler som assemblyn använder sig av.

7 ildasm.exe .NET innehåller ett verktyg ildasm.exe som visar metadata och CIL kod  skriv: ildasm programNamn.exe vid prompten för att se all information och beskrivning av assemblyn.

8 Beståndsdelar  En assembly innehåller följande 5 element som gör att en assembly i.NET blir helt självbeskrivande:  Windows file header o win32 header som talar om modulen är användbar i Windows operativ system. o Typ av applikation, konsol, GUI eller dll  Assemblymanifest som innehåller typmetadata (CLR kod) – innehåller all data som behövs för att implementera typerna, tex var i filen metadata (dat om typen) och resurserna (GUI-element) finns.  CIL kod som är plattformsoberoende kompilerad kod.  En del resurser (jpg filer mm).

9 single/multifil assemblyer  Delarna kan grupperas i en enda fysisk fil, eller flera fysiska filer. Manifest (Asseblymetadata) Typmetadata IL kod Resurser (bilder mm) SinglefilAssembly.dll

10 Multifil assembly Manifest Typmetadata IL Kod MultiFilAssembly.dll Typmetadata IL Kod Resurser StorFil.jpg GottOchBlandat.netmodule

11 Privata assemblyer  Assemblier kan vara privata eller delade  Privata assemblyer (Private Asemblies)  En assembly som används av endast en applikation kallas för privat assembly.  Säg att du har en klientapplikation och du inkapslar din affärslogik (Business Logic) i en dll.  Denna dll kan läggas i samma eller i anslutning till den mapp som husar klientapplikationen.  Dll:n används endast av klientapplikation  Dll:n är då privat till klientapplikationen.

12 Delade assemblier  Delade assemblyer (Shared Assemblies)  är assemblier som används av eller är tillgängliga till flera klienter. o Säg att du skapar en dll med tjänster som kan användas av olika applikationer. o I stället för att varje klient får sin egen kopia, kan man lägga dll:n på ett ställe då alla klienter kan komma åt. o Det finns en bestämd plats, kallad för ”Global Assembly Cache” eller GAC för delade filer under Windows OS. o GAC finns på din dator under mappen …\Windows\Assembly o Hur installerar man dll:er under GAC? Besök följande länk: o

13 EXE och DLL  Skapande och installation av delade assemblyer behandlas i senare delen av kursen då vi också går igenom, versionshantering och säkerhet i.NET.  Här beskrivs hur man skapar privata assemblyer och anropar dem i klientprogram.  Vad är skillnaden mellan en assembly av typ EXE och en DLL?  EXE assemblyn är direkt körbar.  DLL assemblyn kan inte köras direkt utan skall köras (helt eller delvis) av klientprogram, dvs andra applikationer.

14 Skapa exe/dll assemblyer  För att lösa en uppgift skall man tänka sig ett projekt oavsett vilket utvecklingsverktyg man använder.  Ett projekt är en samlig av alla de komponenter (kod, resurser, mm) som tillsammans blir ett program.  Om du skapar applikation manuellt, organisera filera i mappar och undermappar.  Visual Studio.NET är ett väldigt naturligt val för att utveckla.NET applikationer.  Med C# som språk blir är programmerarens liv en ren lycka!  VB.NET är en het kandidat också!

15 Skapa en EXE  Skriv dina källkods filer, följ gärna följande mönster:  En klass som fungerar som entré till programmet o innehållande metoden Main o så lite kod som möjligt  En klass för varje objekt o Innehållande en funktion för varje operation - alltså heller många små funktioner än en stor. o Endast privata medlemmar. o Properties (get och set) får åtkomst av data. MainProg.cs Huvudproram fil a.cs för objekt a fil x.cs för objekt x

16 Skapa dll:er  Under.NET kallas en dll formellt för en klassbibliotek vilket är väldigt rätt.  Man skiljer mellan två typer:  Klassbibliotek (Class Library), standard dll:er för allmänt ändamål.  Kontrollbibliotek (Control Library) för att skapa egna kontroller.  Glöm inte att lägga till referens till de bibliotek (dll:er) som du använder i din applikation.  Hur man skapa dessa typer av applikationer i Visual Studio.NET visas på föreläsningen.  Se också exempelprojektet på hemsidan.

17  The End