SlideShare a Scribd company logo
Developing Windows and Web Applications using Visual Studio.NET Peter Gfader
Agenda About SSWand Presenters Student Introduction Course Overview .NET Overview VS. Net Overview/ Demo Design Patterns Hands on lab
SSW Consulting has 18 years development / consulting experience. Adam Cogan is the Chief Software Architect at SSW 1of 3 Microsoft Regional Directors in Australia About SSW
SSA @ SSW Loves C# and .NET (Java not anymore) Specializes in  Windows Forms ASP.NET TFS testing Automated tests Silverlight Peter Gfader
Attendance Please initial the sheet next to your name Hands On Lab Please get Peter to initial sheet Homework Certificate  At end of 10 sessions Admin Stuff
Name Company Experience IT Programming .NET C# / VB Database Goals for the course Anything else after 9PM Introductions
http://www.ssw.com.au/ssw/Events/2010UTSNET/ Part 1: .NET WinForms Overview of .NET & C# basics C# Advanced + Data in Forms Usability - Rules to Better Windows Forms Deployment and Security of Windows Forms Web Services and Threading The 10 Sessions
http://www.ssw.com.au/ssw/Events/2010UTSNET/default.aspx Part 2: .NET Webforms Overview of ASP.NET Webforms Data in Webforms Usability Rich Web Forms and  Other ASP.NET Features  Web Security  Advanced Topics & Future Technology  The 10 Sessions
What is .NET? What is C#? Language Differences VB + C# Review of OOP N-Tier Solution Design Demo: Creating WinForms Session 1: Overview
.NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software Microsoft, beginning 2000  What is .NET?
What is .NET? An application development platform from Microsoft Runtime (Virtual machine) Tools Languages, IDE, … Rapidly develop secure and robust software Web and Windows Full support for object-oriented programming
Compiles to MSIL Represents codeindependent from src Executes MSIL
What is .NET? Language Independence VB C# F# C++ IronPython Any language that supports the Common Language Runtime (CLR) Specification
CLR Common Language Runtime = Virtual machine
Tools C:indowsicrosoft.NET
2002 - .Net 1.0 / Visual Studio.NET 2003 - .Net 1.1 / Visual Studio 2003 2005 - .Net 2.0 / Visual Studio 2005 2007 - .Net 3.5 / Visual Studio 2008 2008 - .Net 3.5sp1 (added EDMX) 2010 - .Net 4.0/ VS.Net 2010  Details on http://shrinkster.com/1cu8 History of .NET and Visual Studio
Interoperability Common Runtime Engine (CLR) Language Independence Base Class Library Simplified Deployment Security Portability Principal Design Features
Over 4500 classes that provides features such as: Data access and connectivity (ADO.NET) User Interfaces (WinForms, WPF) Web Applications (ASP.NET, Silverlight) Network Communication (WCF) Workflow (WF) What is the .NET Framework?
Evolution The whole .NET FX 3.5 http://shrinkster.com/1515 Only new types in .NET 4 http://shrinkster.com/1cu9 .NET Framework
Allows for language independence Memory Management (allocation and de-allocation of memory) Performs automatic garbage collection with the elimination of pointers No more memory leaks (in theory at least!) Exception Handling Security (sandbox from the OS– cannot run malicious code) Converts the IL byte code into runtime code CLR =Common Language Runtime
Main programming language for .NET framework Based on C Object Oriented  Built with hindsight  Java    Very similar to Java C++    Very similar to C++ A ‘modern language’ that did not inherit the ‘junk’ from C++ (eg header files, syntax) C# ?
Variable declaration 		bool isVeryLong; Variable assignment 		isVeryLong = false; Control statements if (yourInput.Length > 10) { isVeryLong = true; } C# Basis
C# 1.0 – First Version  C# 2.0 – Everything that didn’t fit in 1.0 C# 3.0 – LINQ, functional influence C# 4.0 – Dynamic Programming  C# 5.0 …  History C# - Anders Hejlsberg
Base Class Library Highly structured via Namespaces: System.Data System.Web System.Windows System.Xml See VS.NET/.NET Framework help for complete breakdown
OOP
Terms - I want you to know #1 Inheritance #2 Encapsulation #3 Polymorphism #4 Abstraction ,[object Object]
Objects
Properties
Methods
Events,[object Object]
Properties Changeable features of objects Eg. „Color“ of a car Methods Actions on an object Eg. Car has a method „Accelerate“ Events Let other objects know about an action Eg. Car has an event „DoorOpened“ Terms
#1 Inheritance
A "square" is a "shape" #1 Inheritance
A "shape" defines a common property "Color"      A "square" inherits the property "Color"
Information hiding E.g.A shape hides internal data 1st point 2nd point #2 Encapsulation
A „Square" has internal fields like „_side“
Appear as another Be used like another #3 Polymorphism
var shapes = new List<IShapes>() { new Square(“Red"), new Rectangle(“Blue"), new Triangle(“Red") }; foreach (var shape in shapes) { Console.WriteLine(shape.Color + ": " + shape.CalcSize()); } #3 Polymorphism
Allows inheritance but no instantiation #4 Abstraction
No instance of a "Shape"
Common Type System Reference Types All derive from System.Object Referential Identity  Every object created is DISTINCT from any other object created Eg two “People” may have the same name, but will always be two individuals ,[object Object]
derived from System.Valuetype
Int16
int32
Double
Boolean
Float
Eg:
int x = 5;
boolIsEmpty = false;,[object Object]
VB.NET versus C#
Variables Language Differences ' VB DimFavouriteColourAsString = "LightGreen" // C# StringFavouriteColour = "LightGreen";
Methods Language Differences 'VB Public Function GetName () As String  Public Sub DoSomething() //C# public string GetName() {} public void DoSomething() {}
Events and Methods Language Differences
VB Properties Language Differences PublicPropertyFirstName() AsString Get ReturnpFirstName EndGet Set(ByVal value AsString) pFirstName = value EndSet EndProperty
C# Properties Language Differences private string firstName; public StringFirstName{		get	{		returnfirstName	}		set	{		firstName= value;			}	}
Automatic Properties Feature public StringFirstName{		get; set;} Notice no internal variable was declared?  It is created by the compiler Saves typing and makes code neater Properties since C# 3.0
Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines Auto Implemented Properties Collection Initializers (limited) Named parameters Optional parameters Lambdas (limited) Can span statements across multiple lines .NET 3.5
Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines .NET 4
Visual Studio 2010
Visual Studio 2010
Windows Forms

More Related Content

What's hot

LINQ in C#
LINQ in C#LINQ in C#
LINQ in C#
Basant Medhat
 
.net CLR
.net CLR.net CLR
.net CLR
DevTalk
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#rahulsahay19
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
Then Murugeshwari
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
kamal kotecha
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
akhilsreyas
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code firstConfiz
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
Arun Prasad
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".
SudhanshuVijay3
 
.Net framework
.Net framework.Net framework
.Net framework
Om Vikram Thapa
 
.Net
.Net.Net
Applets in java
Applets in javaApplets in java
Applets in java
Wani Zahoor
 
Java threads
Java threadsJava threads
Java threads
Prabhakaran V M
 
dot net technology
dot net technologydot net technology
dot net technology
Imran Khan
 

What's hot (20)

LINQ in C#
LINQ in C#LINQ in C#
LINQ in C#
 
.net CLR
.net CLR.net CLR
.net CLR
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".
 
C#.NET
C#.NETC#.NET
C#.NET
 
.Net framework
.Net framework.Net framework
.Net framework
 
Error handling in ASP.NET
Error handling in ASP.NETError handling in ASP.NET
Error handling in ASP.NET
 
.Net
.Net.Net
.Net
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Java threads
Java threadsJava threads
Java threads
 
interface in c#
interface in c#interface in c#
interface in c#
 
dot net technology
dot net technologydot net technology
dot net technology
 

Viewers also liked

C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial
Jm Ramos
 
C# and the Evolution of a Programming Language
C# and the Evolution of a Programming LanguageC# and the Evolution of a Programming Language
C# and the Evolution of a Programming Language
Jacinto Limjap
 
c# usage,applications and advantages
c# usage,applications and advantages c# usage,applications and advantages
c# usage,applications and advantages
mohamed drahem
 
Introduction to c#
Introduction to c#Introduction to c#
Evolution of c# - by K.Jegan
Evolution of c# - by K.JeganEvolution of c# - by K.Jegan
Evolution of c# - by K.Jegan
talenttransform
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
SAMIR BHOGAYTA
 
Academy PRO: ASP .NET Core
Academy PRO: ASP .NET Core Academy PRO: ASP .NET Core
Academy PRO: ASP .NET Core
Binary Studio
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaPrageeth Sandakalum
 
Donetconf2016: The Future of C#
Donetconf2016: The Future of C#Donetconf2016: The Future of C#
Donetconf2016: The Future of C#
Jacinto Limjap
 
Python for the C# developer
Python for the C# developerPython for the C# developer
Python for the C# developer
Michael Kennedy
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
Vinicius Mussak
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
Abhishek Sur
 
C# features through examples
C# features through examplesC# features through examples
C# features through examples
Zayen Chagra
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Rogério Moraes de Carvalho
 
C# 7
C# 7C# 7
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
Rogério Moraes de Carvalho
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
Aniruddha Chakrabarti
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
Marco Parenzan
 

Viewers also liked (20)

C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial
 
C# and the Evolution of a Programming Language
C# and the Evolution of a Programming LanguageC# and the Evolution of a Programming Language
C# and the Evolution of a Programming Language
 
c# usage,applications and advantages
c# usage,applications and advantages c# usage,applications and advantages
c# usage,applications and advantages
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
C# basics
 C# basics C# basics
C# basics
 
Evolution of c# - by K.Jegan
Evolution of c# - by K.JeganEvolution of c# - by K.Jegan
Evolution of c# - by K.Jegan
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
Programming in c#
Programming in c#Programming in c#
Programming in c#
 
Academy PRO: ASP .NET Core
Academy PRO: ASP .NET Core Academy PRO: ASP .NET Core
Academy PRO: ASP .NET Core
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayamba
 
Donetconf2016: The Future of C#
Donetconf2016: The Future of C#Donetconf2016: The Future of C#
Donetconf2016: The Future of C#
 
Python for the C# developer
Python for the C# developerPython for the C# developer
Python for the C# developer
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
 
C# features through examples
C# features through examplesC# features through examples
C# features through examples
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
 
C# 7
C# 7C# 7
C# 7
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
 

Similar to .NET and C# introduction

Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
Visual Studio.NET
Visual Studio.NETVisual Studio.NET
Visual Studio.NET
salonityagi
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
shuklagirish
 
Session2(Mod)
Session2(Mod)Session2(Mod)
Session2(Mod)mccmepco
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreEsha Yadav
 
Srgoc dotnet_new
Srgoc dotnet_newSrgoc dotnet_new
Srgoc dotnet_new
Gaurav Singh
 
Introduction to c_sharp
Introduction to c_sharpIntroduction to c_sharp
Introduction to c_sharp
Jorge Antonio Contre Vargas
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep JoshiSpiffy
 
.Net language support
.Net language support.Net language support
.Net language support
Then Murugeshwari
 
.NET Overview
.NET Overview.NET Overview
.NET Overview
Greg Sohl
 
Srgoc dotnet
Srgoc dotnetSrgoc dotnet
Srgoc dotnet
Gaurav Singh
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
Abhishek Sahu
 

Similar to .NET and C# introduction (20)

Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Visual Studio.NET
Visual Studio.NETVisual Studio.NET
Visual Studio.NET
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
Session2(Mod)
Session2(Mod)Session2(Mod)
Session2(Mod)
 
Net framework
Net frameworkNet framework
Net framework
 
Introduction to Visual Studio.NET
Introduction to Visual Studio.NETIntroduction to Visual Studio.NET
Introduction to Visual Studio.NET
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
 
Srgoc dotnet_new
Srgoc dotnet_newSrgoc dotnet_new
Srgoc dotnet_new
 
Introduction to c_sharp
Introduction to c_sharpIntroduction to c_sharp
Introduction to c_sharp
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi.NET 4 Demystified - Sandeep Joshi
.NET 4 Demystified - Sandeep Joshi
 
.Net language support
.Net language support.Net language support
.Net language support
 
10 Sep08 2003ver
10 Sep08 2003ver10 Sep08 2003ver
10 Sep08 2003ver
 
.NET Overview
.NET Overview.NET Overview
.NET Overview
 
Srgoc dotnet
Srgoc dotnetSrgoc dotnet
Srgoc dotnet
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 

More from Peter Gfader

Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
Peter Gfader
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
Peter Gfader
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
Peter Gfader
 
How to make more impact as an engineer
How to make more impact as an engineerHow to make more impact as an engineer
How to make more impact as an engineer
Peter Gfader
 
13 explosive things you should try as an agilist
13 explosive things you should try as an agilist13 explosive things you should try as an agilist
13 explosive things you should try as an agilist
Peter Gfader
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
Peter Gfader
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
Peter Gfader
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous Delivery
Peter Gfader
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Peter Gfader
 
Qcon london2012 recap
Qcon london2012 recapQcon london2012 recap
Qcon london2012 recap
Peter Gfader
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
Peter Gfader
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
Peter Gfader
 
Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code Development
Peter Gfader
 
Data Mining with SQL Server 2008
Data Mining with SQL Server 2008Data Mining with SQL Server 2008
Data Mining with SQL Server 2008
Peter Gfader
 
SSAS - Other Cube Browsers
SSAS - Other Cube BrowsersSSAS - Other Cube Browsers
SSAS - Other Cube Browsers
Peter Gfader
 
Reports with SQL Server Reporting Services
Reports with SQL Server Reporting ServicesReports with SQL Server Reporting Services
Reports with SQL Server Reporting Services
Peter Gfader
 
OLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis ServicesOLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis Services
Peter Gfader
 
Business Intelligence with SQL Server
Business Intelligence with SQL ServerBusiness Intelligence with SQL Server
Business Intelligence with SQL Server
Peter Gfader
 
SQL Server - Full text search
SQL Server - Full text searchSQL Server - Full text search
SQL Server - Full text searchPeter Gfader
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
Peter Gfader
 

More from Peter Gfader (20)

Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
How to make more impact as an engineer
How to make more impact as an engineerHow to make more impact as an engineer
How to make more impact as an engineer
 
13 explosive things you should try as an agilist
13 explosive things you should try as an agilist13 explosive things you should try as an agilist
13 explosive things you should try as an agilist
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous Delivery
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Qcon london2012 recap
Qcon london2012 recapQcon london2012 recap
Qcon london2012 recap
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
 
Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code Development
 
Data Mining with SQL Server 2008
Data Mining with SQL Server 2008Data Mining with SQL Server 2008
Data Mining with SQL Server 2008
 
SSAS - Other Cube Browsers
SSAS - Other Cube BrowsersSSAS - Other Cube Browsers
SSAS - Other Cube Browsers
 
Reports with SQL Server Reporting Services
Reports with SQL Server Reporting ServicesReports with SQL Server Reporting Services
Reports with SQL Server Reporting Services
 
OLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis ServicesOLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis Services
 
Business Intelligence with SQL Server
Business Intelligence with SQL ServerBusiness Intelligence with SQL Server
Business Intelligence with SQL Server
 
SQL Server - Full text search
SQL Server - Full text searchSQL Server - Full text search
SQL Server - Full text search
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 

Recently uploaded

Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 

Recently uploaded (20)

Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 

.NET and C# introduction

  • 1. Developing Windows and Web Applications using Visual Studio.NET Peter Gfader
  • 2. Agenda About SSWand Presenters Student Introduction Course Overview .NET Overview VS. Net Overview/ Demo Design Patterns Hands on lab
  • 3. SSW Consulting has 18 years development / consulting experience. Adam Cogan is the Chief Software Architect at SSW 1of 3 Microsoft Regional Directors in Australia About SSW
  • 4. SSA @ SSW Loves C# and .NET (Java not anymore) Specializes in Windows Forms ASP.NET TFS testing Automated tests Silverlight Peter Gfader
  • 5. Attendance Please initial the sheet next to your name Hands On Lab Please get Peter to initial sheet Homework Certificate At end of 10 sessions Admin Stuff
  • 6. Name Company Experience IT Programming .NET C# / VB Database Goals for the course Anything else after 9PM Introductions
  • 7. http://www.ssw.com.au/ssw/Events/2010UTSNET/ Part 1: .NET WinForms Overview of .NET & C# basics C# Advanced + Data in Forms Usability - Rules to Better Windows Forms Deployment and Security of Windows Forms Web Services and Threading The 10 Sessions
  • 8. http://www.ssw.com.au/ssw/Events/2010UTSNET/default.aspx Part 2: .NET Webforms Overview of ASP.NET Webforms Data in Webforms Usability Rich Web Forms and Other ASP.NET Features Web Security Advanced Topics & Future Technology The 10 Sessions
  • 9. What is .NET? What is C#? Language Differences VB + C# Review of OOP N-Tier Solution Design Demo: Creating WinForms Session 1: Overview
  • 10. .NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software Microsoft, beginning 2000 What is .NET?
  • 11. What is .NET? An application development platform from Microsoft Runtime (Virtual machine) Tools Languages, IDE, … Rapidly develop secure and robust software Web and Windows Full support for object-oriented programming
  • 12. Compiles to MSIL Represents codeindependent from src Executes MSIL
  • 13. What is .NET? Language Independence VB C# F# C++ IronPython Any language that supports the Common Language Runtime (CLR) Specification
  • 14. CLR Common Language Runtime = Virtual machine
  • 16. 2002 - .Net 1.0 / Visual Studio.NET 2003 - .Net 1.1 / Visual Studio 2003 2005 - .Net 2.0 / Visual Studio 2005 2007 - .Net 3.5 / Visual Studio 2008 2008 - .Net 3.5sp1 (added EDMX) 2010 - .Net 4.0/ VS.Net 2010 Details on http://shrinkster.com/1cu8 History of .NET and Visual Studio
  • 17. Interoperability Common Runtime Engine (CLR) Language Independence Base Class Library Simplified Deployment Security Portability Principal Design Features
  • 18. Over 4500 classes that provides features such as: Data access and connectivity (ADO.NET) User Interfaces (WinForms, WPF) Web Applications (ASP.NET, Silverlight) Network Communication (WCF) Workflow (WF) What is the .NET Framework?
  • 19. Evolution The whole .NET FX 3.5 http://shrinkster.com/1515 Only new types in .NET 4 http://shrinkster.com/1cu9 .NET Framework
  • 20. Allows for language independence Memory Management (allocation and de-allocation of memory) Performs automatic garbage collection with the elimination of pointers No more memory leaks (in theory at least!) Exception Handling Security (sandbox from the OS– cannot run malicious code) Converts the IL byte code into runtime code CLR =Common Language Runtime
  • 21. Main programming language for .NET framework Based on C Object Oriented Built with hindsight Java Very similar to Java C++ Very similar to C++ A ‘modern language’ that did not inherit the ‘junk’ from C++ (eg header files, syntax) C# ?
  • 22. Variable declaration bool isVeryLong; Variable assignment isVeryLong = false; Control statements if (yourInput.Length > 10) { isVeryLong = true; } C# Basis
  • 23. C# 1.0 – First Version C# 2.0 – Everything that didn’t fit in 1.0 C# 3.0 – LINQ, functional influence C# 4.0 – Dynamic Programming C# 5.0 … History C# - Anders Hejlsberg
  • 24. Base Class Library Highly structured via Namespaces: System.Data System.Web System.Windows System.Xml See VS.NET/.NET Framework help for complete breakdown
  • 25. OOP
  • 26.
  • 30.
  • 31. Properties Changeable features of objects Eg. „Color“ of a car Methods Actions on an object Eg. Car has a method „Accelerate“ Events Let other objects know about an action Eg. Car has an event „DoorOpened“ Terms
  • 33. A "square" is a "shape" #1 Inheritance
  • 34. A "shape" defines a common property "Color" A "square" inherits the property "Color"
  • 35. Information hiding E.g.A shape hides internal data 1st point 2nd point #2 Encapsulation
  • 36. A „Square" has internal fields like „_side“
  • 37. Appear as another Be used like another #3 Polymorphism
  • 38. var shapes = new List<IShapes>() { new Square(“Red"), new Rectangle(“Blue"), new Triangle(“Red") }; foreach (var shape in shapes) { Console.WriteLine(shape.Color + ": " + shape.CalcSize()); } #3 Polymorphism
  • 39. Allows inheritance but no instantiation #4 Abstraction
  • 40. No instance of a "Shape"
  • 41.
  • 43. Int16
  • 44. int32
  • 47. Float
  • 48. Eg:
  • 49. int x = 5;
  • 50.
  • 52. Variables Language Differences ' VB DimFavouriteColourAsString = "LightGreen" // C# StringFavouriteColour = "LightGreen";
  • 53. Methods Language Differences 'VB Public Function GetName () As String Public Sub DoSomething() //C# public string GetName() {} public void DoSomething() {}
  • 54. Events and Methods Language Differences
  • 55. VB Properties Language Differences PublicPropertyFirstName() AsString Get ReturnpFirstName EndGet Set(ByVal value AsString) pFirstName = value EndSet EndProperty
  • 56. C# Properties Language Differences private string firstName; public StringFirstName{ get { returnfirstName } set { firstName= value; } }
  • 57. Automatic Properties Feature public StringFirstName{ get; set;} Notice no internal variable was declared?  It is created by the compiler Saves typing and makes code neater Properties since C# 3.0
  • 58. Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines Auto Implemented Properties Collection Initializers (limited) Named parameters Optional parameters Lambdas (limited) Can span statements across multiple lines .NET 3.5
  • 59. Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines Auto Implemented Properties Collection Initializers Named parameters Optional parameters Lambdas Can span statements across multiple lines .NET 4
  • 63. A UI Component WinForm – a Window displayed by an application Web Forms are page hosted in a browser What is a Form?
  • 64. Textboxes Buttons Tool Strip Menu Picture Labels Controls
  • 65.
  • 66. Most controls have events Examples Clicked TextChanged Closing Event Handlers Can’t control the order the event gets handled Events
  • 67. "Programming" Able to code in that language "Understanding .NET“ Understanding the .NET Framework and technology "Architecture“ Knowing when and what do and why Architecture vs. Programming
  • 68.
  • 71.
  • 72. A design pattern is a general repeatable solution to a commonly occurring problem in software design. Referred to as GoF (Gang of Four, after their authors). Considered the foundation for all other software patterns. This concepts are incorporated in the .Net Framework (eg. The Iterator pattern) Design Patterns
  • 73. Gang of Four Patterns Creational Patterns Abstract Factory Creates an instance of several families of classes Builder Separates object construction from its representation Factory Method Creates an instance of several derived classes Prototype A fully initialized instance to be copied or cloned Singleton A class of which only a single instance can exist       
  • 74. Gang of Four Patterns Behavioral Patterns Chain of Resp. A way of passing a request between a chain of objects Command Encapsulate a command request as an object Interpreter A way to include language elements in a program Iterator Sequentially access the elements of a collection Mediator Defines simplified communication between classes    Memento Capture and restore an object's internal state    Observer A way of notifying change to a number of classes State Alter an object's behaviour when its state changes Strategy Encapsulates an algorithm inside a class Template Method Defer the exact steps of an algorithm to a subclass Visitor Defines a new operation to a class without change
  • 75. Gang of Four Patterns Structural Patterns Adapter Match interfaces of different classes Bridge Separates an object’s interface from its implementation Composite A tree structure of simple and composite objects Decorator Add responsibilities to objects dynamically Facade A single class that represents an entire subsystem Flyweight A fine-grained instance used for efficient sharing Proxy An object representing another object  
  • 76. Enterprise Architecture Patterns Design Patterns representing an entire system/software application Logical layers Areas of concern Gang of Four Patterns
  • 78. Separate logic and data access from presentation Easier to maintain code Low-coupling Modularity/Re-use business logic Easily add a different UI Web UI Smart Phone UI Team Development Why n-tier?
  • 79. Keep the users in mind
  • 80. Keep the users in mind
  • 81. WPF?
  • 82. Windows Presentation Foundation Rich Windows Applications Great Architecture + Great Graphics Rapid Prototyping 2D, 3D, Vector, Document Flow, Layouts, Composition, etc. WPF in a nutshell
  • 83. User interface (UI) components. User interface components provide a way for users to interact with the application. They render and format data for display to users, and acquire and validate data that users enter. User process components. To help synchronize and orchestrate these user interactions, it can be useful to drive the process using separate user process components. This avoids hard-coding the process flow and state-management logic in the UI elements themselves, and the same basic user interaction patterns can be reused by multiple UIs. Business components. Business components implement the business logic of the application. Regardless of whether a business process consists of a single step or an orchestrated workflow, your application will probably require components that implement business rules and perform business tasks. Rich Client App Architecture
  • 84. Business workflows. After the required data is collected by a user process, the data can be used to perform a business process. Many business processes involve multiple steps that must be performed in the correct order and orchestrated. Business workflows define and coordinate long-running, multi-step business processes, and they can be implemented using business process management tools. Business entity components. Business entities are used to pass data between components. The data represents real-world business entities, such as products or orders. The business entities that are used internally in the application are usually data structures, such as DataSets, DataReaders, or Extensible Markup Language (XML) streams, but they can be implemented as custom object-oriented classes that represent the real-world entities your application has to work with, such as a product or an order. Rich Client App Architecture
  • 85. Application façade (optional). A façade is used to combine multiple business operations into single message-based operation. You might access the application façade from the presentation layer by using a range of communication technologies. Data access logic components. Data access components abstract the logic necessary to access your underlying data stores. Doing so centralizes data access functionality and makes it easier to configure and maintain. Data Helpers/utilities. Implement data helpers for centralizing generic data access functionality such as managing database connections and caching data. You can design data source–specific helper components to abstract the complexity of accessing the database. Avoid adding any business logic to the helper components. Service agents. When a business component must use functionality provided in an external service, you might need to provide some code to manage the semantics of communicating with that particular service. Service agents isolate the idiosyncrasies of calling diverse services from your application, and can provide additional services such as basic mapping between the format of the data exposed by the service and the format your application requires. Rich Client App Architecture
  • 86. The 10 Sessions Overview of .NET OOP Language Differences n-Tier Application Architecture Demo: Creating WinForms (C#) Summary
  • 87. Creating a Windows Form Application Opening forms Menus Event handlers User controls Hands ON LAB
  • 88. The C# tutorialhttp://www.csharp-station.com/Tutorial.aspx Online videos and traininghttp://channel9.msdn.com/learn/courses/VS2010/ Nice video to OOPhttp://msdn.microsoft.com/en-us/beginner/cc963989.aspx More on OOPhttp://en.wikipedia.org/wiki/Object-oriented_programming Resources 1/2
  • 89. Design patterns in C#http://www.dofactory.com/Patterns/Patterns.aspx Winforms tips and trickshttp://peitor.blogspot.com/search/label/winforms Use controls in Windows Forms! http://www.telerik.com http://www.devexpress.com http://www.infragistics.com Beginner Developer Learning Centerhttp://msdn.microsoft.com/en-us/beginner/default.aspx Resources 2/2
  • 91. Thank You! Gateway Court Suite 10 81 - 91 Military Road Neutral Bay, Sydney NSW 2089 AUSTRALIA ABN: 21 069 371 900 Phone: + 61 2 9953 3000 Fax: + 61 2 9953 3105 info@ssw.com.auwww.ssw.com.au

Editor's Notes

  1. Click to add notesPeter Gfader Developing Windows and Web applications
  2. implementing best of breed solutions that improve your operating efficiency and competitive advantage. We deliver scalable and extensible custom solutions on top of the latest Microsoft technologiesand one of three Microsoft Regional Directors in Australia
  3. Java current version 1.6 Update 171.7 released next year 2010Dynamic languages Parallel computingMaybe closures
  4. Make sure that seat allocation is ready for Adam and SumeshAlso inform them that the UTS environment needs some additional software installedAsk for USB devices so it can be copied for their installationPPT and Doc viewer + labs + PPT
  5. Ask for people in the class who they are and backgroundPreferred nameShow booksShow training kits
  6. This was the original description of .Net from around 2000 when it was announced.It is a consistent framework, tools, languages, runtime, and technologies that are structured in a coherent wayCompare to Java/ J2EE
  7. 2002 v1.0 of .netfw
  8. MSIL Independent from source languageFrom machine running onOpen notepadpublic class MyConsoleApp{ public static void Main() {System.Console.WriteLine(&quot;Hallo Welt&quot;); }}Run csc filename.txtShow filesRun .exeIldasm .exe
  9. The image is an old image from the early days of .Net :J# is depreciated and not used.J# was microsofts implementations of Java, and then Microsoft and Sun had a falling out
  10. Examplepublic class SendHelloWorld{ public static void Main() {System.Console.WriteLine(&quot;Hallo Welt&quot;); }}On command line „Csc helloworld.cs“ Run &quot;helloworld.exe&quot;
  11. 22nd march
  12. Principal design featuresInteroperability  Because interaction between new and older applications is commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature. Common Runtime Engine  The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling. Language Independence  The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports the exchange of instances of types between programs written in any of the .NET languages. This is discussed in more detail in Microsoft .NET Languages. Base Class Library  The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation. Simplified Deployment  The .NET framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements. Security  The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications. Portability  The design of the .NET Framework allows it to theoretically be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft&apos;s commercial implementations of the framework cover Windows, Windows CE, and the Xbox 360.[4] In addition, Microsoft submits the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language),[5][6][7] the C# language,[8] and the C++/CLI language[9] to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.
  13. Consolidated many different technologies and concepts under one consistant framework and platformRegular expressions (Regex)Cryptography
  14. http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET35_Namespaces_Poster_LORES.pdf
  15. “in theory at least” – poor coding and lack of understanding can lead to bad software still!
  16. Story about Anders:Delphi was better than vb,So microsoft bought anders, but his contract wouldn’t allow him to work straight away, so they paid him to sit on a beach for a year..net platform is the next quantum leap from delphiIt effectively killed borlandbuilt with the hindsight of many languages, but most notably Java and C++. It was co-authored by Anders Hejlsberg (who is famous for the design of the Delphi language), and Scott Wiltamuth.