¿No es el objetivo de una interfaz que múltiples clases se adhieran a un conjunto de reglas e
Preguntas sobre consideraciones de diseño relacionadas con la interfaz, como la programación en la interfaz.
¿No es el objetivo de una interfaz que múltiples clases se adhieran a un conjunto de reglas e
Comencé un nuevo trabajo recientemente donde estoy trabajando en una aplicación muy grande (15M loc). En mi trabajo anterior teníamos una aplicación similar de gran tamaño pero (para bien o para mal) usamos OSGi, lo que significaba que la aplicación se dividía en muchos microservicios que podían...
He estado estudiando y codificando en C # por algún tiempo. Pero aún así, no puedo entender la utilidad de las interfaces. Traen muy poco a la mesa. Aparte de proporcionar las firmas de función, no hacen nada. Si puedo recordar los nombres y la firma de las funciones que se necesitan para...
Siempre leo que la composición es preferible a la herencia. Una publicación de blog sobre tipos diferentes , por ejemplo, aboga por el uso de la composición sobre la herencia, pero no puedo ver cómo se logra el polimorfismo. Pero tengo la sensación de que cuando las personas dicen que prefieren la...
En Java 8, las interfaces pueden contener métodos implementados, métodos estáticos y los llamados métodos "predeterminados" (que las clases de implementación no necesitan anular). En mi opinión (probablemente ingenua), no había necesidad de violar interfaces como esta. Las interfaces siempre han...
En este momento hay un debate en nuestro equipo sobre si modificar el diseño del código para permitir la prueba de la unidad es un olor a código, o en qué medida se puede hacer sin ser un olor a código. Esto se debe a que recién estamos comenzando a implementar prácticas que están presentes en casi...
Al estudiar el curso para principiantes sobre interfaz de hardware / software y sistemas operativos, a menudo surge el tema de si sería mejor reemplazar algunas partes de hardware con software y viceversa. No puedo hacer la
Con suerte, he estado leyendo " Clean Code " de Robert Martin para convertirme en un mejor programador. Si bien nada de esto hasta ahora ha sido realmente innovador, me ha hecho pensar de manera diferente sobre la forma en que diseño aplicaciones y escribo código. Hay una parte del libro con la...
"Clase abstracta" e "interfaz" son conceptos similares, siendo la interfaz la más abstracta de las dos. Un factor diferenciador es que las clases abstractas proporcionan implementaciones de métodos para clases derivadas cuando es necesario. Sin embargo, en C #, este factor diferenciador se ha...
¿Qué es mejor y por qué? (Desde el punto de vista del diseño de la interfaz): a) Tener dos Show()y Hide()funciones b) Tener una SetVisible(bool visible)función EDITAR: Por ejemplo, algún objeto tiene estado de visibilidad y esta función se utiliza para cambiarlo. c) tener los tres Show(),...
En C #, el siguiente código es válido interface I{ int property{get;set;} } Lo cual no tiene ningún sentido para mí. Esto parece romper uno de los principios más importantes de las interfaces: falta de estado (en otras palabras, sin campos). ¿La propiedad no crea un campo privado implícito? ¿No...
Tengo un colega sentado a mi lado que diseñó una interfaz como esta: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } El problema es que, en este momento, no estamos usando este parámetro de "fin" en ninguna...
En la sugerente conferencia magistral de Rich Hickey " El valor de los valores ", a los 29 minutos, habla sobre la sobrecarga de un lenguaje como Java y hace una declaración como: "Todas esas interfaces matan su reutilización". ¿Qué quiere decir? ¿Es eso cierto? En mi búsqueda de respuestas, me he...
Raramente uso interfaces y las encuentro comunes en otros códigos. También creo subclases y superclases (mientras creo mis propias clases) rara vez en mi código. ¿Es algo malo? ¿Sugerirías cambiar este estilo? ¿Este estilo tiene algún efecto secundario? ¿Es esto porque no he trabajado en...
Solía crear muchas clases / métodos abstractos. Entonces comencé a usar interfaces. Ahora no estoy seguro si las interfaces no están volviendo obsoletas las clases abstractas. ¿Necesitas una clase completamente abstracta? Crea una interfaz en su lugar. ¿Necesita una clase abstracta con alguna...
Noté que a partir de PHP5, se han agregado interfaces al lenguaje. Sin embargo, dado que PHP está tan tipado, parece que se pierden la mayoría de los beneficios del uso de interfaces. ¿Por qué se incluye esto en el
Después de leer ¿Los nombres de los paquetes deben ser singulares o plurales? Se me ocurrió que nunca había visto un debate adecuado que cubriera uno de mis manías: nombrar implementaciones de interfaces. Supongamos que tiene una interfaz Orderdiseñada para implementarse de varias maneras, pero...
Estoy tratando de comprender bien cómo implementar un buen desacoplamiento entre una interfaz de usuario y el modelo, pero tengo problemas para determinar exactamente dónde dividir las líneas. He estado mirando Model-View-Presenter, pero no estoy seguro de cómo proceder para implementarlo. Por...
Muy claro. Estoy implementando una interfaz, pero hay una propiedad que es innecesaria para esta clase y, de hecho, no debería usarse. Mi idea inicial era hacer algo como: int IFoo.Bar { get { raise new NotImplementedException(); } } Supongo que no hay nada de malo en esto, per se, pero no se...
Si mi clase es implementsuna interfaz, ¿puedo decir que estoy siguiendo la herencia? Sé que cuando una clase es extendsotra clase, entonces es