O que é Framework?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Luiz-SP
JavaChild
[Avatar]

Membro desde: 10/01/2004 23:20:19
Mensagens: 131
Localização: São Paulo
Offline

Já vi muita gente falando, até tenho um idéia do que seja, mas acabem com o meu tormento e expliquem, (de forma reduzida de preferência), o que é um Framework? Outro dia eu estava quase achando que sabia o que era, aí um cara disse MVC é um framework, mas o mvc não é um design pattern?????

"Porque Deus amou o mundo de tal maneira que deu seu filho unigênito para que todo aquele que nele crê não pereça, mas tenha vida eterna." João 3.16
[Email]
leonardom
Virtual Machine Man
[Avatar]

Membro desde: 23/02/2003 11:41:23
Mensagens: 679
Localização: Anywhere
Offline

Framework é um conjunto de classes e interfaces que cooperam para resolver um tipo de problema de software.

Um framework tem as seguintes características:

* Um framework compreende múltiplas classes ou componentes, cada um devendo prover uma abstração de um conceito particular.
* Um framework define como essa abstração trabalha junto para resolver um problema.
* Componentes do framework são reusáveis.
* Um framework organiza padrões em alto nível.

Como vc disse MVC e um design patterns, mas existem diversos frameworks que ajudam vc aplicar esse pattern, como por exemplo: Struts, Webwork, vRaptor, etc

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."

George Bernard Shaw (1856 - 1950) - Irish dramatist - Nobel Prize of Literature, 1925

blog: http://leonardom.wordpress.com
http://www.insidecode.com.br
[Email] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

leonardom wrote:
Como vc disse MVC e um design patterns


Ok, isto é bem polêmico, mas não. O MVC usa o Observer, mas é uma arquitetura, estratégia... não um pattern.

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2666
Localização: Chicago, EUA
Offline

Framework é quando vc usa os conceitos de OO para desenvolver uma API que te permita reutilizar uma estratégia para atingir certo objetivo. (Que horrível isso !!!)

Veja o meu post Hibernate ou DBBean. No caso ali o DBBean é um framework de persistencia.

Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

MVC é um pattern, pode ser implementado de diversas maneiras diferentes

um framework é um conjunto de classes e bibliotecas que ditam a maneira como você vai trabalhar,
MVC dita como você deve trabalhar, como todos os Design Patterns, mas não é um conjunto de classes/bibliotecas, por tanto, não é um framework

e MVC não é uma arquitetura por si só, uma arquitetura precisa de muito mais coisa, mas MVC é parte de praticamente todas as arquiteturas de software voltadas a WEB utilizando a linguagem java, e de boa parte das arquiteturas para sistemas Desktop

o proprio Swing utiliza o Pattern MVC

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
Hempx
JavaEvangelist
[Avatar]

Membro desde: 18/04/2003 03:42:08
Mensagens: 356
Localização: Belo Horizonte
Offline

urubatan wrote:
um framework é um conjunto de classes e bibliotecas que ditam a maneira como você vai trabalhar


então swing pode ser considerado um framework que ajuda a fazer a interface com o usuario? E qual a diferencia para API( applications programming interface ) e framework ?

Eu acho que até entendo esses conceitos, mas sempre me enrolo quando alguem me pergunta...
[MSN] [ICQ]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

um framework compreende uma ou mais APIs ou bibliotecas

por exemplo o Struts
tem a biblioteca dele proprio de classes, commons-beans, commons-logging, commons-xxx

e implementa diversos Patterns, o principal no caso do struts é o MVC, mas também implementa Command, ...

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

urubatan wrote:MVC é um pattern, pode ser implementado de diversas maneiras diferentes

e MVC não é uma arquitetura por si só, uma arquitetura precisa de muito mais coisa, mas MVC é parte de praticamente todas as arquiteturas de software voltadas a WEB utilizando a linguagem java, e de boa parte das arquiteturas para sistemas Desktop


Ok, então troca de mensagens [tipo JMS] seria um pattern?

É o mesmo princípio. Um pattern apresenta uma solução recorrente, MVC é uma estratégia. Utiliza Observer e Façade, é uma aplicação destes em conjunto.

Como falei, é polêmico. meu ponto de vista está mais para a Wikipedia:

Wikipedia wrote:
Model-View-Controller (MVC) is a software architecture that separates an application's data model, user interface, and control logic into three distinct components so that modifications to the view component can be made with minimal impact to the data model component.
-------------------------------------------------------------------------------
Software architecture is a coherent set of abstract patterns guiding the design of each aspect of a larger software system.



Note que pattern e design pattern não são a mesma coisa.

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
yung
Entusiasta Java
[Avatar]

Membro desde: 17/08/2004 20:04:26
Mensagens: 20
Localização: SP
Offline

Um amigo (filipini) disse q uma vez um palestrante mandou mal nessa de conceitos...

"Uma aplicação rodava em um ambiente com Java, mudamos o produto para o produto de nossa marca e melhoramos a performance em 400%...

Olha que beleza, isso que eu chamo de Design Pattern (sic)!"

[Email] [WWW]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

shoes, olha a definição de Design Pattern da wikipedia

wikipedia wrote:
Design patterns are standard solutions to common problems in object-oriented software design. The phrase was introduced to computer science in 1995 by the text Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0201633612). The scope of the term remained a matter of dispute into the next decade. Algorithms are not thought of as design patterns, since they solve implementation problems rather than design problems. Typically, a design pattern is thought to encompass a tight interaction of a few classes and objects.

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

LIPE wrote:shoes, olha a definição de Design Pattern da wikipedia
wikipedia wrote:
Design patterns are standard solutions to common problems in object-oriented software design. The phrase was introduced to computer ...encompass a tight interaction of a few classes and objects.


Uhm... sim. Soluções de problemas comuns e tal. Não entendi o que vc quis dizer

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Lembrando também do final:


Typically, a design pattern is thought to encompass a tight interaction of a few classes and objects.


Mas bem .. dane-se, não faz a mínima diferença

Former LIPE.
[ICQ]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

bom, dependendo da definição pattern é o que a wikkipedia chama de design pattern, e alguns dividem os patterns em algumas sub classes:

Architecture Pattern
Design Pattern
....

e assim por diante

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

urubatan wrote:bom, dependendo da definição pattern é o que a wikkipedia chama de design pattern, e alguns dividem os patterns em algumas sub classes:

Architecture Pattern
Design Pattern
....

e assim por diante


Fora os Analiysis Pattern do Fowler...

Sem cotnar os Patterns do Alexander...

Alguém tranco o topic, por favor!

[]s

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team