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?

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

Comenta el articulo:

Requerido

Requerido,