Javafree
Página Inicial do Fórum > Frameworks, APIs e IDE's

Por que usar Spring?



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Bom dia galera

    Ando vendo muito rebuliço sobre o framework Spring. Já fiz testes com o framework mas não consegui enxergar o que ele pode trazer de vantagem em relação ao desenvolvimento com STRUTS/HIBERNATE.

    Na minha ignorancia não conseguir ver utilidades muito diferentes das que eu já utilizo. Peço a quem conhecer o framework para me ajudar a entender se Spring merece mesmo estar sendo usado.

    Valeu
    _________________



  1. ronaldtm
    Posts:2317


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Você já teve que criar meia dúzia de fábricas pros seus objetos?

    Você já teve que fazer hierarquias estranhas de classes (classe-pai faz-tudo), ou repetição de código pra fazer o controle de transações, sessões de hibernate, etc?

    Você já teve a sensação de que você escreve mais código pra 'juntar as peças' do que código útil?

    Você já fez um sistema que quando você terminou, você viu que ficou mais complicado do que deveria, difícil de debugar, alterar, estender e adicionar funcionalidades?

    É pra resolver esse tipo de coisa que a gente usa Spring. =)

    Tipo, antes haviam frameworks 'MVC' (Struts) e frameworks de persistência (Hibernate), mas a ligação entre os dois (a camada de negócio) foi sempre por nossa conta. Claro que nós tínhamos os design patterns, mas no final, cada um fazia de um jeito. Quantas rodas não foram reinventadas?

    O Spring é o framework que faz essa ligação, integrando as camadas e frameworks, e gerenciando as classes de negócio, além de fornecer facilidades e implementações prontas de uma variedade de componentes reusáveis, deixando a cargo de quem o utiliza apenas o código específico do negócio.

    E isso, sem perder a coerência do design, isto é, sem 'gambiarras' pra encaixar novos componentes, tudo segue os mesmos princípios. Inclusive, ele enfatiza a programação por interfaces e a componentização, isto é, ele incentiva o uso de boas práticas, ao invés de nos forçar a fazer milhares de 'workarounds', como alguns frameworks por aí.

    Claro que nada substitui a experiência e o conhecimento, mas que ele é uma mão-na-roda, ele é.

    Tetsuo
    _________________

    In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)



  1. gpzim98
    Posts:1


    Comment Arrow

    Publicado em: 21/01/2015 08:55:57

    [quote="ronaldtm"]Você já teve que criar meia dúzia de fábricas pros seus objetos?

    Você já teve que fazer hierarquias estranhas de classes (classe-pai faz-tudo), ou repetição de código pra fazer o controle de transações, sessões de hibernate, etc?

    Você já teve a sensação de que você escreve mais código pra 'juntar as peças' do que código útil?

    Você já fez um sistema que quando você terminou, você viu que ficou mais complicado do que deveria, difícil de debugar, alterar, estender e adicionar funcionalidades?

    É pra resolver esse tipo de coisa que a gente usa Spring. =)

    Tipo, antes haviam frameworks 'MVC' (Struts) e frameworks de persistência (Hibernate), mas a ligação entre os dois (a camada de negócio) foi sempre por nossa conta. Claro que nós tínhamos os design patterns, mas no final, cada um fazia de um jeito. Quantas rodas não foram reinventadas?

    O Spring é o framework que faz essa ligação, integrando as camadas e frameworks, e gerenciando as classes de negócio, além de fornecer facilidades e implementações prontas de uma variedade de componentes reusáveis, deixando a cargo de quem o utiliza apenas o código específico do negócio.

    E isso, sem perder a coerência do design, isto é, sem 'gambiarras' pra encaixar novos componentes, tudo segue os mesmos princípios. Inclusive, ele enfatiza a programação por interfaces e a componentização, isto é, ele incentiva o uso de boas práticas, ao invés de nos forçar a fazer milhares de 'workarounds', como alguns frameworks por aí.

    Claro que nada substitui a experiência e o conhecimento, mas que ele é uma mão-na-roda, ele é.

    Tetsuo



    Excelente resposta!



  1. Relacionados