SlideShare una empresa de Scribd logo
1 de 16
Plataforma .NET
         .NET framework

  Leonardo Melo Santos
  http://about.me/leonardomelosantos
Conteúdo programático
● Problemas de tecnologia
● O que é .NET
● Common Language Runtime
● Class library
● Namespaces
Problemas de tecnologia
● DLL hell
● Muitas tecnologias
O inferno das DLLs
● Informações dos componentes registradas
  no sistema operacional
  ○ Registro do Windows
● Problemas com versionamento
  ○ Somente uma versão do componente pode ser
     registrada
● Instalações e atualizações problemáticas
Muitas tecnologias
● Tecnologias específicas para cada objetivo
  ○ Delphi e Visual Basic para aplicações do Windows
  ○ JavaScript, VBScript, ASP, PHP para apliações web
  ○ C++ e Visual Basic para Windows Mobile (ou
     Windows CE)
● Compiladores específicos
  ○ Código C++ compilado no Windows não roda no
     Linux...
Cenário atual
● Internet
● Aplicações móveis e conectadas
● Necessidade de produtividade
● Necessidade de segurança
● Interoperabilidade entre sistemas
  ○ Web + Desktop + Mobile + Nuvem + ...
.NET
.NET framework
● Uma plataforma, não uma linguagem
● Tecnologia voltada para necessidades atuais
  ○ Produtividade, suporta várias linguagens, ...
● Independência na linguagem de
  programação:
  ○ Linguagens diferentes no mesmo projeto e interagir
    entre elas. Isso é possível por existir uma IL
    (Intermediate Language), ou seja, linguagem
    intermediária onde todos os fontes compilados pelo
    CLR resultam em uma só linguagem.
.NET framework
CLR (Common Language Runtime)
● Máquina virtual do .NET
● Gerencia:
  ○ Ambiente de execução;
  ○ Segurança;
  ○ Memória;
  ○ Compilação;
MSIL (Microsoft Intermediate Language)
 ●   É a linguagem intermediária;
● Independentemente da linguagem que você escrever,
     seu programa quando compilado irá gerar uma IL.
     ○ Porém, não é qualquer linguagem que pode ser compilada em
        .NET. Ela deve seguir as regras das especificações da CLS e
        CTS e só então e linguagem pode ser "nomeada" como XXX.
        NET (Delphi.NET, Fortran.NET, etc)

CLS = Common Language Specification
CTS = Common Type Systema
CLS - Common Language Specification
● Define um conjunto de regras que as
  linguagens que implementam a .NET devem
  seguir para que a CLR possa gerar a IL;
● No momento da compilação é gerado um
  código único intermediário (IL) e todas essas
  linguagens suportadas pela .NET seguem as
  regras da CLS, para que depois de gerado a IL,
  ela seja interpretada corretamente pela CLR.
CTS - Common Types System
● Definição de tipos de dados onde tudo é um
  objeto e deriva da classe System.Object
  (que é o núcleo do sistema de tipos);
● Sistema de tipos de dados organizados em:
  ○ Tipos Valor: variáveis deste tipo são alocadas na
    pilha e têm como classe base System.ValueType,
    que por sua vez deriva da System.Object.
  ○ Tipos Referência: variáveis deste tipo são alocadas
    na memória heap e têm a classe System.Object
    como classe base.
Class library
● Componentes (ou bibliotecas) que facilitam
  o desenvolvimento;
● Útil para reuso de código;
● Utilizável por qualquer linguagem .NET.
Namespaces
● Organização lógica do código
  ○ Não é organização física, diferentemente de
     pacotes de Java
● Funcionalidades separadas
  ○ Namespace System.Data -> Acesso a Dados
  ○ Namespace System.Web -> Interface gráfica web
● Hierarquia
Dúvidas

Más contenido relacionado

La actualidad más candente

Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfaceFelipe J. R. Vieira
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Semana 3: Introdução à linguagem de programação Java
Semana  3: Introdução à linguagem de programação Java Semana  3: Introdução à linguagem de programação Java
Semana 3: Introdução à linguagem de programação Java Manuel Menezes de Sequeira
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosEvandro Agnes
 

La actualidad más candente (20)

Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Java7
Java7Java7
Java7
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
A linguagem java
A linguagem javaA linguagem java
A linguagem java
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Semana 3: Introdução à linguagem de programação Java
Semana  3: Introdução à linguagem de programação Java Semana  3: Introdução à linguagem de programação Java
Semana 3: Introdução à linguagem de programação Java
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 

Similar a Curso de OO com C# - Parte 03 - Plataforma .NET

Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpMarcio Chiaveli
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpPedro Vuvu Alvaro
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
Iron Python
Iron PythonIron Python
Iron Pythonpugpe
 
Apostila de Introdução ao C#.net
Apostila de Introdução ao C#.netApostila de Introdução ao C#.net
Apostila de Introdução ao C#.netAndre Nascimento
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoreRogério Moraes de Carvalho
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Julian Correa
 
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Luís Gustavo Martins
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Jorge Cardoso
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 

Similar a Curso de OO com C# - Parte 03 - Plataforma .NET (20)

Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
1º FasS2B 2010
1º FasS2B 20101º FasS2B 2010
1º FasS2B 2010
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Csharp
CsharpCsharp
Csharp
 
Iron Python
Iron PythonIron Python
Iron Python
 
Cebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET CoreCebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET Core
 
Apostila de Introdução ao C#.net
Apostila de Introdução ao C#.netApostila de Introdução ao C#.net
Apostila de Introdução ao C#.net
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1
 
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...Introdução à programação em Android e iOS - Conceitos fundamentais de program...
Introdução à programação em Android e iOS - Conceitos fundamentais de program...
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 

Más de Leonardo Melo Santos

Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Leonardo Melo Santos
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETLeonardo Melo Santos
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasLeonardo Melo Santos
 
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsLeonardo Melo Santos
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
Desenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalDesenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalLeonardo Melo Santos
 
Curso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoCurso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoLeonardo Melo Santos
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesLeonardo Melo Santos
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoLeonardo Melo Santos
 
Curso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicosCurso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicosLeonardo Melo Santos
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoLeonardo Melo Santos
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Trabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoTrabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoLeonardo Melo Santos
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Marketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisMarketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisLeonardo Melo Santos
 

Más de Leonardo Melo Santos (19)

Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NET
 
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricasCurso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
Curso de OO com C# - Parte 05 - Coleções genéricas e não-genéricas
 
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Scrum - Visão Geral
Scrum - Visão GeralScrum - Visão Geral
Scrum - Visão Geral
 
Desenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV DigitalDesenvolvimento de aplicações Java™ para TV Digital
Desenvolvimento de aplicações Java™ para TV Digital
 
Web Services XML - .NET framework
Web Services XML - .NET frameworkWeb Services XML - .NET framework
Web Services XML - .NET framework
 
DotNet Remoting - .NET framework
DotNet Remoting - .NET frameworkDotNet Remoting - .NET framework
DotNet Remoting - .NET framework
 
Curso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - OtimizaçãoCurso de J2ME - Parte 04 - Otimização
Curso de J2ME - Parte 04 - Otimização
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
 
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimentoCurso de J2ME - Parte 02 - Ambiente de desenvolvimento
Curso de J2ME - Parte 02 - Ambiente de desenvolvimento
 
Curso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicosCurso de J2ME - Parte 01 - Conceitos básicos
Curso de J2ME - Parte 01 - Conceitos básicos
 
Sistemas Workflow
Sistemas WorkflowSistemas Workflow
Sistemas Workflow
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informação
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Trabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalhoTrabalho em equipe e ética no trabalho
Trabalho em equipe e ética no trabalho
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Marketing pessoal e as redes sociais
Marketing pessoal e as redes sociaisMarketing pessoal e as redes sociais
Marketing pessoal e as redes sociais
 

Último

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Curso de OO com C# - Parte 03 - Plataforma .NET

  • 1. Plataforma .NET .NET framework Leonardo Melo Santos http://about.me/leonardomelosantos
  • 2. Conteúdo programático ● Problemas de tecnologia ● O que é .NET ● Common Language Runtime ● Class library ● Namespaces
  • 3. Problemas de tecnologia ● DLL hell ● Muitas tecnologias
  • 4. O inferno das DLLs ● Informações dos componentes registradas no sistema operacional ○ Registro do Windows ● Problemas com versionamento ○ Somente uma versão do componente pode ser registrada ● Instalações e atualizações problemáticas
  • 5. Muitas tecnologias ● Tecnologias específicas para cada objetivo ○ Delphi e Visual Basic para aplicações do Windows ○ JavaScript, VBScript, ASP, PHP para apliações web ○ C++ e Visual Basic para Windows Mobile (ou Windows CE) ● Compiladores específicos ○ Código C++ compilado no Windows não roda no Linux...
  • 6. Cenário atual ● Internet ● Aplicações móveis e conectadas ● Necessidade de produtividade ● Necessidade de segurança ● Interoperabilidade entre sistemas ○ Web + Desktop + Mobile + Nuvem + ...
  • 8. .NET framework ● Uma plataforma, não uma linguagem ● Tecnologia voltada para necessidades atuais ○ Produtividade, suporta várias linguagens, ... ● Independência na linguagem de programação: ○ Linguagens diferentes no mesmo projeto e interagir entre elas. Isso é possível por existir uma IL (Intermediate Language), ou seja, linguagem intermediária onde todos os fontes compilados pelo CLR resultam em uma só linguagem.
  • 10. CLR (Common Language Runtime) ● Máquina virtual do .NET ● Gerencia: ○ Ambiente de execução; ○ Segurança; ○ Memória; ○ Compilação;
  • 11. MSIL (Microsoft Intermediate Language) ● É a linguagem intermediária; ● Independentemente da linguagem que você escrever, seu programa quando compilado irá gerar uma IL. ○ Porém, não é qualquer linguagem que pode ser compilada em .NET. Ela deve seguir as regras das especificações da CLS e CTS e só então e linguagem pode ser "nomeada" como XXX. NET (Delphi.NET, Fortran.NET, etc) CLS = Common Language Specification CTS = Common Type Systema
  • 12. CLS - Common Language Specification ● Define um conjunto de regras que as linguagens que implementam a .NET devem seguir para que a CLR possa gerar a IL; ● No momento da compilação é gerado um código único intermediário (IL) e todas essas linguagens suportadas pela .NET seguem as regras da CLS, para que depois de gerado a IL, ela seja interpretada corretamente pela CLR.
  • 13. CTS - Common Types System ● Definição de tipos de dados onde tudo é um objeto e deriva da classe System.Object (que é o núcleo do sistema de tipos); ● Sistema de tipos de dados organizados em: ○ Tipos Valor: variáveis deste tipo são alocadas na pilha e têm como classe base System.ValueType, que por sua vez deriva da System.Object. ○ Tipos Referência: variáveis deste tipo são alocadas na memória heap e têm a classe System.Object como classe base.
  • 14. Class library ● Componentes (ou bibliotecas) que facilitam o desenvolvimento; ● Útil para reuso de código; ● Utilizável por qualquer linguagem .NET.
  • 15. Namespaces ● Organização lógica do código ○ Não é organização física, diferentemente de pacotes de Java ● Funcionalidades separadas ○ Namespace System.Data -> Acesso a Dados ○ Namespace System.Web -> Interface gráfica web ● Hierarquia