1 / 40

# Računarski praktikum 3 - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Računarski praktikum 3' - annona

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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ć

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

• .NET

• Programski jezik C#

• Dizajniranje grafičkih sučelja (Windows Forms, WPF)

Računarski praktikum 3

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

• 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

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

.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

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

.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

• .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

4.0

ParallelLINQ

3.5.

LINQ

ASP.NETAJAX

3.0

WPF

WCF

WF

Card Space

2.0

WinForms

ASP.NET

Base class Library (BCL)

Common Language Runtime (CLR)

Računarski praktikum 3

Računarski praktikum 3

Računarski praktikum 3

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

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

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

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).

funkcije.

Računarski praktikum 3

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

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

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

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

• 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

• Povezivanje različitih programskih jezika

• Provjera sigurnosti tipova

• Dosljedan pristup prijavi pogrešaka

• Poboljšana sigurnost

• Združivost s postojećim kodom

Računarski praktikum 3

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

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

Računarski praktikum 3

Računarski praktikum 3

Računarski praktikum 3

• Text

• Exception

• Enum, Array

• Delegate

• Nullable

• Type

• DateTime, DateTimeOffset, TimeSpan

• Math, Random

• Convert, BitConverter

• IDisposable, IFormattable, IComparable

itd.

Računarski praktikum 3

.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

Tehnologije korisničkih sučelja:

Windows Forms, WPF, ASP.NET

Backend tehnologije:

Tehnologije distribuiranih sistema:

WCF, Remoting Services, ASMX Web Services, CardSpace

Računarski praktikum 3

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

• 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

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

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

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

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

• Server-side-only (ASP.NET)

• Thin-client (ASP.NET s AJAX-om)

• Rich interactive (Silverlight)

• Rich Desktop (WPF)

Računarski praktikum 3

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

Neke opcije kod kompiliranja:

Računarski praktikum 3