| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 19:13:06
|
TiagoTC
JavaTeenager
Membro desde: 09/02/2008 01:12:58
Mensagens: 189
Offline
|
Desculpa a pergunta, mas a verdade é que já cansei de procurar definições de "framework" na internet. Todas elas são diferentes uma da outra! Uma diz que framework são pequenas rotinas de código, outra diz que são interfaces gráficas ( ), outra diz que framework é sinônimo de biblioteca... Mas afinal de contas: o que é um framework?
Obrigado!
|
Pérola: "Nunca coloque seu celular em um forno de microondas, pois isso faz com que a bateria exploda" - Manuais de telefones celulares |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 19:15:34
|
maquiavelbona
Forum Spammer
![[Avatar]](/images/avatar/24bea84d52e6a1f8025e313c2ffff50a.jpg)
Membro desde: 29/06/2006 09:06:51
Mensagens: 2444
Localização: São Paulo - SP
Offline
|
Se você procurou, a melhor definição que eu lembre é a da Wikipedia. Pode se basear por ela.
Até!
|
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)
"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 19:33:35
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 12452
Localização: Curitiba
Offline
|
Você está confuso porque existe mais de uma definição. Mas, alguns livros fazem as seguintes definições:
1. Biblioteca: Conjunto de código pronto. Pode ser um conjunto de funções matemáticas, não precisa necessariamente orientada a objetos. Portanto, mesmo as frameworks são bibliotecas.
2. Toolkit: Conjunto de classes que, mas cuja arquitetura não se baseia em extensão, mas sim em uso. Um exemplo seria a STL do C++, ou o pacote java.util.concurrent. Mas, por essa definição, não seria a AWT (Abstract Window Toolkit), já que boa parte de suas classes são extensíveis.
3. Framework: Biblioteca de classes que suportam uma funcionalidade, mas que baseiam-se em extensão. Como o caso do Swing, onde você é obrigado a implementar um TableModel, por exemplo. O framework, portanto, é mais intrusivo e gera mais acoplamento do que um Toolkit. Geralmente, um framework chega a impor algum tipo de arquitetura ao projeto de software.
4. Engine: Um framework que geralmente gerencia o fluxo do código (geralmente roda num loop). Seria também o caso do Swing, JMonkeyEngine, Ogre ou do glut.
Essas 4 são as definições que mais gosto. Mas autores diferentes misturam esses conceitos uma vez ou outra. Portanto, não fique tão preso as definições.
This message was edited 1 time. Last update was at 18/02/2008 11:44:44
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Desenvolve jogos de computadores?
http://www.pontov.com.br
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 19:34:33
|
pintofree
Virtual Machine Man
![[Avatar]](/images/avatar/e0652a0045dbc0b14d016619158789ce.jpg)
Membro desde: 19/12/2007 12:44:42
Mensagens: 612
Localização: Cuiabá - MT
Offline
|
eu pessoalmente penso em framework como um conjunto de classes especificos para determinada tarefa, assim ao usar um framework penso em reaproveitar o trabalhado que outras pessoas criaram facilitando meu trabalho
|
SCJP - Sun Certified Java Programmer
SCWCD - Sun Certified Web Component Developer, Enterprise Edition 5
"When the compiler's not happy, ain't nobody happy."
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 20:42:58
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 12452
Localização: Curitiba
Offline
|
pintofree wrote:eu pessoalmente penso em framework como um conjunto de classes especificos para determinada tarefa, assim ao usar um framework penso em reaproveitar o trabalhado que outras pessoas criaram facilitando meu trabalho
Bem, isso é exatamente o que todas as definições acima tem em comum. Mas não deixa de ser verdadeiro, já que muitos autores consideram todas as definições sinônimas.
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Desenvolve jogos de computadores?
http://www.pontov.com.br
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2008 22:25:47
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3417
Offline
|
ViniGodoy wrote:
2. Toolkit: Conjunto de classes que, mas cuja arquitetura não se baseia em extensão, mas sim em uso. Um exemplo seria a STL do C++, ou o pacote java.util.concurrent. Mas, por essa definição, não seria a AWT (Abstract Window Toolkit), já que boa parte de suas classes são extensíveis.
Eu concordo com as definições do Vini só queria dizer que o toolkit ( conjunto de ferramentas) é realmente baseado em uso e não extensão, no sentido de que para funcionar não precisamos extender nada, nem reimplementar nada; mas isso não quer dizer que não possamos. O exemplo perfeito é pacote de coleções. As coisas são feita para serem usada tal como estão, mas podemos sempre implementar um List ou um Set se quisermos.
Essa é a diferença fundamental em relação a framework, onde para funcionar algo tem que ser obrigatoriamente implementado (ele apanas fornece ganchos). Embora a maioria dos frameworks apresente implementações padrão dessas peças especiais: primeiro porque quando a pessoa começa a usar o framework começa por usar o que já vem pronto, segundo porque os defaults ajudam a explicar o conceito do framework para que depois haja implementações especificas. (Todos os Default-...-Model do swing são exemplos disto)
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2008 00:38:37
|
bzanchet
JavaGuru
Membro desde: 18/05/2006 20:04:34
Mensagens: 256
Offline
|
|
http://conceitua-se.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2008 10:40:40
|
rubinelli
JavaEvangelist
![[Avatar]](/images/avatar/5e15fb59326e7a9c3d6558ca74621683.jpg)
Membro desde: 26/04/2005 11:18:25
Mensagens: 468
Offline
|
ViniGodoy wrote:3. Framework: Biblioteca de classes que suportam uma funcionalidade, mas que baseiam-se em extensão. Como o caso do Swing, onde você é obrigado a implementar um TableModel, por exemplo. O framework, portanto, é a mais intrusivo e gera mais acoplamento do que um Toolkit.
Vini, gostei das definições, mas acho que muito mais do que a extensão de classes, a grande diferença entre um framework e uma biblioteca é a inversão de controle: em vez do seu código chamar o framework, o framework executa seu código, normalmente em resposta a um evento. O assunto fica confuso porque a maioria dos frameworks incluem bibliotecas também.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2008 11:43:09
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 12452
Localização: Curitiba
Offline
|
rubinelli wrote:Vini, gostei das definições, mas acho que muito mais do que a extensão de classes, a grande diferença entre um framework e uma biblioteca é a inversão de controle: em vez do seu código chamar o framework, o framework executa seu código, normalmente em resposta a um evento. O assunto fica confuso porque a maioria dos frameworks incluem bibliotecas também.
Sim, essa é uma consequência de basear a hierarquia em herança, e não em composição. Mas isso ocorre em toolkits também. Por exemplo, no método sort geralmente você é obrigado a fornecer um callback (ou uma interface) para que ele saiba como ordenar os dados. E, por você ser obrigado a implementar uma interface, não transforma o toolkit em framework e também há a inversão de controle. Na minha definição fiz questão de citar uma coisa que realmente acho ser o diferencial: O Toolkit não te impõe qualquer tipo de design em suas classes, enquanto o framework geralmente já te dá um modelo pronto, e força que você o adote através de herança. Por isso, o grau de acoplamento é maior e há intrusão, já que você fica proibido de modelar de outras formas (as vezes até melhores do que as propostas). Tente abrir mão do modelo MVC no Swing ou no Struts e você verá bem o que estou falando. A inversão de controle que você falou realmente ocorre, e no caso do framework é mais profunda do que uma primeira análise sugere. Só não acho que a presença dela seja decisiva para dizer que algo é um framework, embora a ausência possa dizer que algo não é um.
This message was edited 1 time. Last update was at 18/02/2008 11:45:59
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Desenvolve jogos de computadores?
http://www.pontov.com.br
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro! |
|
|
 |
|
|