1 / 40

Računarski praktikum 3

Računarski praktikum 3. Predavanja: predavač: Maja Starčević termin predavanja: petak, 8-10 (110) e-mail: mstarcev(at)math.hr web.math.hr/~mstarcev/rp3 Vježbe: asistent: Vinko Petričević termin vježbi: petak, 13-16 (Pr1) e-mail: vpetrice(at)math.hr web.math.hr/~vpetrice/rp3.

annona
Télécharger la présentation

Računarski praktikum 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Računarski praktikum 3 Predavanja: • predavač: Maja Starčević • termin predavanja: petak, 8-10 (110) • e-mail: mstarcev(at)math.hr • web.math.hr/~mstarcev/rp3 Vježbe: • asistent: Vinko Petričević • termin vježbi: petak, 13-16 (Pr1) • e-mail: vpetrice(at)math.hr • web.math.hr/~vpetrice/rp3 ---------- Računarski praktikum 3 ---------- Maja Starčević

  2. Pravila ocjenjivanja Kroz semestar se može sakupiti najviše 100 bodova: 1. Dva kolokvija po 25 bodova (minimum = 20) 2. Domaća zadaća od 10 bodova (minimum = 5) 3. Završni ispit (obrana projektnog zadatka + usmeni ispit) – najviše 40 bodova (minimum = 15) Popravni kolokvij donosi najviše 40 bodova, a minimum je 20. Ocjene: 50-59 (2), 60-74 (3), 75-87 (4), 88-100 (5) Računarski praktikum 3

  3. O kolegiju • .NET • Programski jezik C# • Dizajniranje grafičkih sučelja (Windows Forms, WPF) • Baze podataka (ADO.NET, LINQ) Računarski praktikum 3

  4. Literatura (iz originalnog programa) • B. Albahari, P. Drayton, B. Merrill, C# Essentials, 2nd edition, O’Reilly, 2002. • D. Box, Essential .NET, Addison-Wesley, 2002. • J. Prosise, Programming Microsoft .NET, Microsoft Press, 2002. • I. Rammer, Advanced .NET Remoting, Apress, 2002. • C. Sells, Windows Forms Programming in C#, 1st  edition, Addison-Wesley Professional, 2003. • C. Rojas, F. Guerrero, SQL Server 2000 Programming by Example, Que, Bk & CD-ROM edition, 2001. • C. Petzold, Programming Windows, 5th  edition, Microsoft Press, Bk & CD-ROM edition, 1998. Računarski praktikum 3

  5. Dodatna literatura • J. Albahari, B. Albahari, C# 3.0, O’Reilly, 2008. • J. Albahari, B. Albahari, C# 3.0 in a Nutshell, O’Reilley, 2008. • J. Liberty, D. Xie, Programming C# 3.0, O’Reilly, 2008. • J. Liberty, A. Horovitz, Programming .NET 3.5, O’Reilley, 2008. Računarski praktikum 3

  6. .NET Framework Microsoft .Net Framework je softversko okruženje za MS Windows operacijski sustav. Podržava programiranje u više programskih jezika (program pisan u jednom jeziku može koristiti i kod pisan u drugom jeziku). Osnovna Microsoftova arhitektura .NET-a izdana je 2001. (sredinom 2002. izdan je .NET Framework 1.0 i Microsoft Visual Studio 2002). Računarski praktikum 3

  7. .NET Framework .NET je prvotno zamišljen kao okruženje za izradu Internet aplikacija i Web servisa. Moguća je izrada XML Web servisa, Web formi, Windows aplikacija s grafičkim sučeljem (GUI), Windows konzolnih aplikacija (CUI), Windows servisa. Podržane platforme su u prvom redu MS Windows te Linux i MacOS (djelomično putem pomoćnog third-party MONO sustava). .NET je standardiziran od strane ECMA i ISO. v Računarski praktikum 3

  8. .NET Framework Programi se izvršavaju u softverskom okruženju, tj. u virtualnom stroju, neovisno o specifičnostima određenog CPU-a. CLR je zadužen i za sigurnost, organizaciju memorije, tretiranje iznimki. Računarski praktikum 3

  9. .NET Framework .NET Framework uključuje i Common TypeSystem (CTS) - specifikaciju koja definira sve moguće tipove podataka koje CLR podržava te interakciju koja je moguća među njima u skladu s Common Language Infrastructure(CLI) specifikacijom. Ovaj princip i omogućava izmjenu objekata i tipova pisanih u različitim jezicima. (Moguće je pisati i dijelove koda koji ne odgovaraju CTS specifikaciji). BCL biblioteke klasa su dostupne svim jezicima. Računarski praktikum 3

  10. .NET arhitektura • .NET sadržava veliku količinu tipova u hijerarhijski organiziranim imeničkim prostorima (namespace) koji su upakirani u asemblije. • Drugi važan dio je Zajednička izvršna okolina (Common Language Runtime - CLR). • Treći dio su APIs (Application Programming Interface) koji pokrivaju: • Tehnologiju korisničkog sučelja • Backend tehnologiju • Tehnologiju distribuiranih sistema Računarski praktikum 3

  11. .NET arhitektura 4.0 ParallelLINQ Task Parallel Library 3.5. LINQ ASP.NETAJAX 3.0 WPF WCF WF Card Space 2.0 WinForms ASP.NET ADO.NET Base class Library (BCL) Common Language Runtime (CLR) Računarski praktikum 3

  12. Kompatibilnost verzija Računarski praktikum 3

  13. .NET i Visual Studio Računarski praktikum 3

  14. Programski jezici u .NET-u Microsoft je izdao IL-kompilatore za programske jezike C++, Visual Basic, J#, C#, JScript (postoje i za Perl, Python, Cobol, Eiffel...). Detalji na http://dotnetpowered.com/languages.aspx Programski jezik C# je razvijen u Microsoftovom timu pod vodstvom Andersa Hejlsberga i Scotta Wiltamutha (Turbo Pascal, Borland Delphi). C# je odigrao značajnu ulogu u razvoju biblioteka koje se nalaze u .NET-u. Programi pisani u C#-u koriste i klase pisane u drugim jezicima, zahvaljujući zajedničkoj jezičnoj specifikaciji (CLS). Računarski praktikum 3

  15. CLI Zajednička jezična infrastruktura (CLI) uključuje • Zajednički tipski sustav (CTS) – podržava tipove podataka zajedničke različitim programskim jezicima, • Zajedničku jezičnu specifikaciju (CLS) - cijela biblioteka temeljnih klasa (BCL) je CLS kompatibilna • Metapodatke – pomoću njih kod opisuje sam sebe • Virtualni izvršni sustav (VES) – upravlja izvršavanjem i sigurnošću koda i radi na zajedničkom prijelaznom jeziku (CIL). Računarski praktikum 3

  16. CLI Primjer: klasa C nije kreirana po CLS pravilima. Imamo dvije metode s “jednakim” imenom (razlikuju se samo po malom i velikom slovu) i uint tip koji nije u skladu s CTS-om. Pomoću atributa CLSCompliant dobivamo upozorenje. using System; [assembly:CLSCompliant(true)] public class C { public uint i; public int _i; // nedopušten početak identifikatora public void Print() { } public void print() { } } Računarski praktikum 3

  17. Zadatak Napravite biblioteku s jednom klasom u VB.net-u (.dll) te ju uključite u neki C# project (dodajte .dll u References u Solution Exploreru). Kreirajte objekt klase iz spomenute biblioteke i testirajte pripadne funkcije. Računarski praktikum 3

  18. Zajednička jezična infrastruktura Zajednička jezična infrastruktura C# kod kompilator VB.NET kod Upravljani kod (CIL) CLR Strojni jezik kompilator J# kod kompilator . . . Računarski praktikum 3

  19. .NET i JIT kompilatori Kod pisan za .NET platformu izvršava .NET runtime ili preciznije Common Language Runtime (CLR). Kod kojeg generira .NET kompilator nije u strojnom jeziku već je to Common Intermediate Language (CIL), tzv. upravljani kod (Managed Code). IL kod se može pregledavati u Visual Studiu preko programa Ildasm (namješta se pomoću Tools– External tools). Program se distribuira u upravljanom kodu te se na odredišnom računalu taj međukod prilikom pokretanja aplikacije prevodi u matični strojni kod. Računarski praktikum 3

  20. .NET i JIT kompilatori Tijekom izvršavanja .NET JIT (Just in Time) kompilatori konvertiraju taj kod u matični strojni kod koji se napokon izvodi u procesoru. .NET kompilator također proizvodi i metapodatke koji opisuju kod. Njima je opisan svaki tip i član definiran i referiran u kodu. .NET runtime učitava metapodatke pri rješavanju poziva funkcija, učitavanju različitih zavisnih modula, usmjeravanju podataka iz jedne komponente u drugu. Računarski praktikum 3

  21. .NET compiler i JIT Kod poput Win32 DLLs ne mora prolaziti kroz sve te korake već je on odmah u strojnom jeziku. Nije potreban dodatni JIT kompilator. Ovakvu vrstu koda zovemoneupravljani kod (engl. Unmanaged Code). Moguće je pristupati i takvom kodu iz .NET koda i obratno. Pritom koristimo interoperativne servisekoje pruža .NET platforma. Takve klase nalaze se u prostorima System.Runtime.InteropServices i System.EnterpriseServices Računarski praktikum 3

  22. Karakteristike .NET-a • Dosljedan objektno-orijentirani model programiranja - sav kod je pisan unutar klasa • Poboljšana usklađenost verzija - vrši se verzioniranje, aplikacije se razvijaju za točno određenu verziju dll-a, prilikom nadogradnje dll-a nova verzija ne prepisuje staru. • Pojednostavljena distribucija - za instalaciju jednostavnih aplikacija nije potrebna posebna instalacijska procedura. Računarski praktikum 3

  23. Karakteristike .NET-a • Povezivanje različitih programskih jezika • Automatsko skupljanje otpada • Provjera sigurnosti tipova • Dosljedan pristup prijavi pogrešaka • Poboljšana sigurnost • Združivost s postojećim kodom Računarski praktikum 3

  24. Base Class Library (BCL) Biblioteka osnovnih klasa je dio cijele biblioteke klasa – Framework Class Library (FCL). Klase iz BCL-a nalaze se u asembilijima (bibliotekama) mscorlib.dll, System.dlliSystem.Core.dll. Klase iz BCL-a se nalaze u imeničkim prostorima: System, System.CodeDom, System.Collections, System.Diagnostics, System.Globalization, System.IO, System.Resources, System.Text, System.Text.RegularExpressions Računarski praktikum 3

  25. Imenički prostori FCL sadrži mnogo klasa koje su također organizirane hijerarhijski, u imeničkim prostorima. Većina prostora kao najviše rangirani prostor ima prostore System, MS,Microsoft. Slijedi opis nekih od visoko rangiranih prostora, odnosno njihovih tipova. Računarski praktikum 3

  26. Imenički prostori Računarski praktikum 3

  27. Imenički prostori Računarski praktikum 3

  28. Imenički prostori Računarski praktikum 3

  29. Imenički prostor System • Text • Exception • Enum, Array • Delegate • Nullable • Type • DateTime, DateTimeOffset, TimeSpan • Math, Random • Convert, BitConverter • IDisposable, IFormattable, IComparable itd. Računarski praktikum 3

  30. Kolekcije .NET Framework sadrži mnoštvo klasa koje upravljaju kolekcijama podataka. Nalaze se u prostorima: • System.Collections.Generic • System.Collections.Specialized • System.Collections.ObjectModel Klase iz tih prostora djeluju u suradnji sa sučeljima poput: • IEnumerable<> • ICollection<> • Ilist<> • IDictionary<> Računarski praktikum 3

  31. Tehnologije u .NET-u Tehnologije korisničkih sučelja: Windows Forms, WPF, ASP.NET Backend tehnologije: ADO.NET, WF, COM+, MSMQ Tehnologije distribuiranih sistema: WCF, Remoting Services, ASMX Web Services, CardSpace Računarski praktikum 3

  32. Tehnologije u .NET-u WF- System.WorkFlow COM+ - System.EnterpriseService WCF – System.ServiceModel Remoting – System.Runtime.Remoting Web Services – System.Web.Services CardSpace – System.IdentityModel.Claim, System.IdentityModel.Policy Računarski praktikum 3

  33. Tehnologije korisničkih sučelja .NET Framework sadrži tri tehnologije za izradu aplikacija s korisničkim sučeljima: • ASP.NET (klase su u prostoru System.Web.UI u biblioteci klasa System.Web.dll) • Windows PresentationFoundation (System.Windows i potprostori) • Windows.Forms (System. Windows.Forms, System.Windows.Forms.dll) Računarski praktikum 3

  34. Windows Forms Rich-client tehnologija koja je također stara kao i .NET Framework. Jednostavnija tehnologija od WPF-a. Ima važnost u sačuvanju “legacy” aplikacija. Tipovi su smješteni u System.Windows.Forms i System.Drawing Računarski praktikum 3

  35. Windows Presentation Foundation WPF je rich-client tehnologija. Podržava sofisticiranu grafiku (razne vrste transformacija, animacije, 3D grafika, transparentnost). Aplikacije se prikazuju korektno pri svakom DPI. Tipovi se nalaze u System.Windows i svim imeničkim potprostorima osim System.Windows.Forms. Izvršava se na Windows 7, Windows Vista, Windows XP s Framework 3.0. WPF aplikacije kreiraju se pomoću markup XAML-a (eXtensible Application Markup Language) i koda u pozadini. Računarski praktikum 3

  36. ADO.NET, LINQ Rad s relacijskim bazama podataka može se ostvariti pomoću LINQ-a, ADO.NET-a ili ADO.NET-a i LINQ-a zajedno. Svrha LINQ-a (Language Integrated Query) je ubacivanje mogućnosti SQL upita u programski jezik C# (ADO.NET nije integriran u C#, a SQL nije objektno orijentiran). Računarski praktikum 3

  37. Alternativne implementacije DLR – podržava dinamičke jezike kao što su ManagedJscript, IronRuby i IronPython. .NET Compact Framework– softversko okruženje koje omogućava kreiranje i izvršavanje upravljanih aplikacija na računalnim uređajima s ograničenim resursima.Nasljeđuje cijelu .NET Framework arhitekturu, ali samo dio .NET FCL klasate sadrži i klase specijalno dizajnirane za to okruženje. .NET Micro Framework– pruža podršku za manje uređaje. Računarski praktikum 3

  38. Tipovi aplikacija • Server-side-only (ASP.NET) • Thin-client (ASP.NET s AJAX-om) • Rich interactive (Silverlight) • Traditional desktop (WinForms) • Rich Desktop (WPF) Računarski praktikum 3

  39. Konzolna aplikacija Konzolna aplikacija nema grafičko korisničko sučelje. Unos i izlaz podataka vrši se preko komandnog prozora. Standardni izlaz se obavlja preko statičke klase Console i njezine metode WriteLine. Primjer (stvaranje .exe datoteke) csc/reference:UnmanagedServer_net_wrapper.dll /out:ManagedClient.exeManagedClient.cs Računarski praktikum 3

  40. Kompiliranje Neke opcije kod kompiliranja: Računarski praktikum 3

More Related