Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

Unit 1

Philosophy of .NET
Objectives

 Serves as a backbone for the remainder of text

 Examine the world of Traditional Windows development

 Uncover the shortcomings with the previous state of affairs

 Focus on basics of .NET centric building blocks such as CLR,CTS,CLS and BCL

 Overview of C# Language and .NET assembly format

 Platform Independent Nature of .NET

 Role of CLI
Abbreviations

SNO TERM ABBREVIATION


1 CLR Common Language Runtime
2 CTS Common Type System
3 CLS Common Language Specification
4 BCL Base Class Library
Software Evolution

1,0

Machine Language
Assembly Language

Procedural Programming

Object-Oriented Programming

Layers of Software Technology


Procedure Oriented Programming

Main
Program

Function-1 Function-2

Function-3 Function-4 Function-5


Procedural Programming Vs Object-Oriented Programming
(OOP)
 Employs Top-Down approach in Program design  Employs Bottom-Up approach in Program design

 Emphasis is on the procedure  Emphasis is on data rather than the procedure

 Large programs are divided into smaller programs  Large programs are divided into objects
called functions
 Data Structures are designed to characterize objects
 Most of the functions share global data
 Functions that operate on data of an object are tied up in
 Inefficient since modifying an external data a Data Structure
structure
involves modifying functions accessing data  Objects may communicate though functions

 Data move openly around the system from function  New data and functions can be added easily when
to function required

 Functions transforms data from one form to another

 Modeling real world problem is poor


Overview of Object-Oriented Programming

 Approach that provides an way of modularizing programs by creating partitioned memory


area for both data and functions that can be used as templates for creating copies of such
modules on demand

 Reusable objects
Data

Functions
Objects
Objects
Message
passing
Classes Constitution of an Object

OOPS
Data
Inheritance
Encapsulation

Data
Polymorphism Abstraction

Data Binding

Significant Features of OOP


Pros of OOP

 Inheritance helps in eliminating code redundancy and supports reusability of classes

 Helps saving development time and higher productivity

 Data Hiding helps in building secure programs

 Multiple instances of an object exist without any interference

 Data-Centered design approach captures more details of model in implementable


form

 Easily Upgraded from small to large systems

 Message passing techniques make interface descriptions with external systems simpler

 Software Complexity is easily managed


Origin of .NET Technology

OLE Technology
OLE Technology
 Object Linking and Embedding
 Embed documents from one application to another
COM Technology
 Enable one application to manipulate objects located
in another application
 Eg. MS Word, MS Excel
.NET Technology

Com Technology

 Component Object Model


 Independent components with unique services integrated to main system

.NET Technology

 Third Generation Component Technology


 Com’s Binary Mechanism replaced by MSIL(MicroSoft Intermedia Language)
 Interoperability and cross-language integration through MSIL which act as
metadata
.NET Strategy

 Software strategy for implementing and delivering robust,scalable,distributed

Web Services
 Integrates presentation technologies, component technologies and data
technologies to ease developing Internet applications

Approaches for solution strategy


Microsoft .NET
Strategy

Microsoft .NET
Microsoft .NET Third Party .NET
Products &
Platform Services
Services
.NET Solution

 Full interoperability with existing code

 Complete and total language integration

 Common runtime Engine

 Base class library

 No COM Plumbing

 Simplified Deployment Model


Benefits of .NET Approach

• Simple and faster Systems Development


• Rich Object Model
• Enhanced Built-in Functionality
• Different ways to communicate to the world
• Integration of different Languages into one platform
• Easy Deployment and Execution
• Wide range of Scalability
• Interoperability with existing applications
• Simple and easy way to build sophisticated development tools
• Fewer Bugs
• Potentially better performance
Value of the team - C# and .NET

Interoperability
with other
Languages

Automatic
Garbage
Enhanced Collection
Security
C# and .NET

XML Support for


Versioning Web Based
Support Applications

Debugging
Support
Classification Of .NET Languages

.NET Languages

Native to .NET
Third Party
Languages

C# C++ VB JScript COBOL Perl Smalltalk

Python Scheme Mercury


Unit topics to be Contd….

What Next ?

CLR,CTS,CLS,BCL,CLI
Summary

 Laid a conceptual framework for the subject

 Limitations and Complexities with previous existing technologies examined

 How .NET and C# as a team simplifies the issues ?


Q/A

# Significant Features of .NET

# Expand CLR,CTS,CLS,BCL,CLI

You might also like