| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 09:18:57
|
everson_z
Virtual Machine Man
![[Avatar]](/images/avatar/d240cb4a3e3d2ed5250ac2e1480422f0.jpg)
Membro desde: 05/07/2005 18:12:25
Mensagens: 590
Localização: SP - São Paulo
Offline
|
Existe algum caso em que a melhor solução para desenvolver (com java) é de forma estruturada???
Eu nunca vi, mas semana me falaram isso e me pediram isso também!
|
Primeiro pensamento POG Existe casos e casos!
Segundo pensamento POG Do meu jeito é mais fácil e rápido!
Primeira merda POG Fazer as merdas que muitos fizeram por defender o primeiro pensamento POG.
Segunda merda POG Limitar o projeto ao escopo inicial.
Terceira merda POG Se basear em absurdos para defender seu desenvolvimento.
Quarta merda POG Não entender que padrão é beneficio e usar o primeiro pensamento POG.
Quinta merda POG Achar um absurdo eu escrever isso. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 10:34:31
|
pintofree
Virtual Machine Man
![[Avatar]](/images/avatar/e0652a0045dbc0b14d016619158789ce.jpg)
Membro desde: 19/12/2007 12:44:42
Mensagens: 651
Localização: Cuiabá - MT
Offline
|
veio acredito q isto seja inviavel, o javaée orientado por natureza e ate compligado criar algo estruturado com ele, se vc realmente precisar seria mais facil criar em linguagem C e depois chamar o codigo pelo java.
This message was edited 1 time. Last update was at 13/02/2008 10:35:05
|
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) 13/02/2008 10:39:38
|
luistiagos
GUJ Expert
![[Avatar]](/images/avatar/98785ca89cfbbe933921bfe68a94553b.jpg)
Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline
|
everson_z:
veio acredito q isto seja inviavel, o javaée orientado por natureza e ate compligado criar algo estruturado com ele, se vc realmente precisar seria mais facil criar em linguagem C e depois chamar o codigo pelo java.
Complicado??? acho que não... java é uma linguagem que te permite programar de uma maneira orientada a objetos... mas se vc quiser programar estruturalmente que nem C não a problema algum...
|
SCJP 1.5
SCJA 1.0
IBM DB2 Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 11:05:22
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
Quando eu comecei a programar em java achava tudo muito bonito e ficava orgulhoso de programar Orientado a Objetos....
Com o passar do tempo fui aprendendo alguns Design Patterns e percebia que os programas eu eu fazia estava tão estruturados quanto programação C.
Às vezes usar java não é o mesmo que programar orientado a objeto
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 11:20:16
|
everson_z
Virtual Machine Man
![[Avatar]](/images/avatar/d240cb4a3e3d2ed5250ac2e1480422f0.jpg)
Membro desde: 05/07/2005 18:12:25
Mensagens: 590
Localização: SP - São Paulo
Offline
|
A minha pergunta: Existe algum caso em que a melhor solução para desenvolver (com java) é de forma estruturada???
Vocês estão respondendo se é possível, mas pergunto se existe algum caso que esta seja a melhor solução
vlw
|
Primeiro pensamento POG Existe casos e casos!
Segundo pensamento POG Do meu jeito é mais fácil e rápido!
Primeira merda POG Fazer as merdas que muitos fizeram por defender o primeiro pensamento POG.
Segunda merda POG Limitar o projeto ao escopo inicial.
Terceira merda POG Se basear em absurdos para defender seu desenvolvimento.
Quarta merda POG Não entender que padrão é beneficio e usar o primeiro pensamento POG.
Quinta merda POG Achar um absurdo eu escrever isso. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 11:27:34
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Possivelmente sim.
Se você for obrigado a resolver alguns problemas, principalmente relacionados com workflows e álgebra, pode ser que trabalhar proceduralmente (estruturado OO também é) seja a melhor escolha.
Duas coisas:
1) Mais importante: Se você precisa disso talvez o problema seja utilizar a linguagem errada para o problema. Considere utilizar uma linguagem especializada para o que deseja fazer.
2) Caso tenha que programar de maneira procedural em Java geralmente é melhor abstrair as funções em objetos utilizando Commands e Chain of Responsibility.
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 11:43:09
|
Adolfo Rodrigues
Java Ninja
![[Avatar]](/images/avatar/5c9dc137c4e9543d7e4001d7bdef7413.jpg)
Membro desde: 18/04/2007 20:02:52
Mensagens: 270
Localização: Sampa
Offline
|
Everson,
Se você pegar os requisitos do seu sistema e perceber que existe uma seqüência de passos bem definidas para atingir um objetivo, na minha opinião é o caso de se programar estruturalmente. Pegue estes passos e tente extrair deles um "caso de uso". Se a sua "conversão" for bem simples e direta, ou seja, se você conseguir mapear estes passos diretamente para um caso de uso, é mais uma evidência de que é melhor usar esta abordagem É o caso de sistemas que só fazem CRUD ou fazem muitos processamentos em lote, por exemplo.
A vantagem é que a modelagem do seu sistema vai ficar bem simples. A desvantagem é que você não pode usar os recursos da orientação a objetos (polimorfismo, encapsulamento, deixar o seu modelo mais expressivo, mais perto da realidade, mais "rico", etc).
www.martinfowler.com/eaaCatalog/transactionScript.html
http://martinfowler.com/bliki/AnemicDomainModel.html
|
http://www.adolfosousa.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 21:35:55
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
everson_z wrote:
Existe algum caso em que a melhor solução para desenvolver (com java) é de forma estruturada???
Acho que se está confundindo o conceito de "programação estruturada" com o conceito de "organização".
Muita gente diz genericamente que pensar "organizadamente" é pensar "de forma estruturada".
Pode ser que a pessoa que lhe esteja dizendo isso esteja pensando em organização - e organização se aplica a qualquer estilo de programação: funcional, genérica, orientada a objetos, estruturada etc, não no conceito de "programação estruturada" (em contraposição a "programação orientada a objetos").
Programar "organizadamente" é realmente a melhor solução. Não quer dizer que você tenha de usar "programação estruturada", que é um estilo de programação bastante antigo mas que é muito útil ainda hoje em dia. A verdadeira "programação orientada a objeto" é na verdade mais difícil de encontrar, mesmo em Java, que a programação estruturada.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/02/2008 22:37:16
|
Zakim
JavaEvangelist
![[Avatar]](/images/avatar/e35d7a5768c4b85b4780384d55dc3620.jpg)
Membro desde: 21/07/2005 09:25:24
Mensagens: 482
Localização: Cuiabá - MT
Offline
|
Existem várias formas de se conceber a arquitetura de um projeto..
Martin Fowler descreve algumas como o modelo dominio, módulo tabela, roteiro de transações e por ai vai... Emboras as ultimas duas nao sigam a risca a OO, ainda assim vc está utilizando OO. e mais, Vai depender mto do tamanho e complexidade da aplicação.
É bom ser equilibrado "Nem matar coelho com canhão" e "Nem enfrentar um Leão com um canivetinho"...
programação procedural em java pra mim só entendo se for estatico.
This message was edited 1 time. Last update was at 13/02/2008 22:39:03
|
http://zakim.blogspot.com - Zakim
Sun Certified Java Programmer
Comece pequeno, pense grande e cresça rápido! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2008 10:05:18
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Às vezes ocorre de você programar de forma procedural em java e isso não ser errado. Existem problemas que em forma procedural são muito mais fáceis de resolver. Ou às vezes tem um desempenho melhor (um excelente exemplo neste caso é a existência dos tipos primitivos). Às vezes é necessário fazer isso pra contornar alguma limitação de algum framework ou de alguma outra coisa.
Mas no geral, a programação puramente procedural no java deve ser evitada. Não é esse o objetivo da linguagem.
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2008 11:19:01
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
victorwss wrote:Existem problemas que em forma procedural são muito mais fáceis de resolver.
Eu realmente gostaria de conhecer alguns deles. E principalmente que justifiquem java.
victorwss wrote:um excelente exemplo neste caso é a existência dos tipos primitivos
A existência de tipos primitivos não faz de Java menos OO.
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2008 11:27:24
|
Zakim
JavaEvangelist
![[Avatar]](/images/avatar/e35d7a5768c4b85b4780384d55dc3620.jpg)
Membro desde: 21/07/2005 09:25:24
Mensagens: 482
Localização: Cuiabá - MT
Offline
|
java só não é 100% OO por causa dos seus tipos primitivos..
|
http://zakim.blogspot.com - Zakim
Sun Certified Java Programmer
Comece pequeno, pense grande e cresça rápido! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2008 11:47:45
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Zakim wrote:
java só não é 100% OO por causa dos seus tipos primitivos..
Na verdade, algumas classes que só contém métodos estáticos (ex: java.lang.System) e não correspondem a Factories ou a quaisquer outras coisas OO não são orientadas a objetos. São apenas um conjunto de funções procedurais.
Outras formas de não-OO em java são classes com baixíssima coesão (classe FazTudo), mas isso é um caso de programação ruim.
nbluis wrote:
Eu realmente gostaria de conhecer alguns deles. E principalmente que justifiquem java.
Alguns problemas matemáticos se encaixam nessa situação. Por exemplo:
EDIT: Arrumando probleminha com o código.
This message was edited 2 times. Last update was at 14/02/2008 12:58:19
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
|
|