Getters y setters son el mal

Es interesante la reflexión que hace Greg Jorgensen en su blog. Y es que hay mucho programador con la costumbre de crear getters y setters para todos los atributos de su clase sin plantearse si son necesarios o no. ¿Qué diferencia habría entonces con hacer esos atributos públicos y no privados?
Quizá resulte muy radical ver la implementación de un getter como un “fallo de encapsulación” pero si es verdad que, idealmente, una clase debería tener una serie de métodos públicos, ningún getter/setter, y todos los atributos privados… así desconoceríamos la representación real de los datos y sólo tendríamos acceso al comportamiento (máxima encapsulación).

¿Hasta qué punto atendéis a la encapsulación en vuestros diseños?

6 Comentarios

  • 1. Pablo Morales  |  julio 18th, 2008 at 7:54 pm

    Es cierto, vi algunos sistemas Open Source, que hacian este tipo de practicas un lema, igual tambien se pueden usar los metodos Magicos

    __get y __set para ahorrarnos este problema.Aunque seguimos teniendo el problema de la falta de encapsulamiento

  • 2. Rub  |  julio 20th, 2008 at 8:51 pm

    Lo que yo odio es lo sucio que llega a ser el código de un programador fanático de esto. Miles de líneas con getters y setters y líneas kilométricas de código que si getEsto.getOtro.getSuP***M*** xD es un infierno

  • 3. Jose Alberto  |  agosto 24th, 2008 at 8:57 pm

    Me ha hecho gracia este artículo. Hace ya dos años planteaba lo mismo en mi blog: http://softinspain.com/desarrollo/settersgetters-para-todo/

    Un saludo.

  • 4. PuppetMaster  |  octubre 5th, 2008 at 12:18 am

    Yo opino que son necesarios estos metodos, sobretodo si se trabaja con jsp y etiquetas personalizas, pero claro todo en exeso es malo, hay que plantearse primero para q son utiles estos metodos y si es posible encapsular aun mas metodos y atributos. La vieja excusa es la seguridad…

  • 5. Benjamin Gonzales  |  noviembre 2nd, 2008 at 11:11 pm

    Hola Luis
    Solo te escribía por que he abierto un wiki para la traducción del manual oficial de Zend Framework http://www.zfdes.com/ y sería genial que puedas publicarlo para que la comunidad pueda apoyar.

    Aquí puedes ver los envíos que ya se hicieron a Zend
    http://framework.zend.com/svn/framework/standard/trunk/documentation/manual/es/

    muchas gracias
    Saludos!

  • 6. gloria franco  |  marzo 3rd, 2009 at 8:59 pm

    necesito q por favor me manden toda la informacion de java y php

Comenta el articulo:

Requerido

Requerido,