Código Estruturado?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
everson_z
Virtual Machine Man
[Avatar]

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.
[WWW]
pintofree
Virtual Machine Man
[Avatar]

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."

[Email] [MSN]
luistiagos
GUJ Expert
[Avatar]

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
[Email] [MSN]
Giulliano
GUJ Master
[Avatar]

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>
[Email] [WWW] [MSN]
everson_z
Virtual Machine Man
[Avatar]

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.
[WWW]
pcalcado
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN]
Adolfo Rodrigues
Java Ninja
[Avatar]

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
[WWW] [MSN]
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.


[WWW]
Zakim
JavaEvangelist
[Avatar]

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!
[Email] [MSN]
victorwss
JWizard
[Avatar]

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.
[MSN]
nbluis
GUJ Master
[Avatar]

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.
[WWW]
Zakim
JavaEvangelist
[Avatar]

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!
[Email] [MSN]
victorwss
JWizard
[Avatar]

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.
[MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team