Articles of inmutabilidad

Colecciones inmutables / mutables en Swift

Me refería a la guía de progtwigción Swift de Apple para comprender la creación de objetos mutables / inmutables (matriz, diccionario, conjuntos, datos) en lenguaje Swift. Pero no puedo entender cómo crear colecciones inmutables en Swift. Me gustaría ver los equivalentes en Swift para lo siguiente en Objective-C Matriz inmutable NSArray *imArray = [[NSArray alloc]initWithObjects:@”First”,@”Second”,@”Third”,nil]; […]

Tipo inmutable: campos finales públicos frente a getter

Necesito una pequeña Clase de contenedor para almacenar algunas cadenas que deberían ser inmutables. Como String en sí es un tipo inmutable, pensé en algo así: public final class Immu { public final String foo; public final String bar; public Immu(final String foo, final String bar) { this.foo = foo; this.bar = bar; } } […]

val-mutable versus var-inmutable en Scala

¿Hay alguna guía en Scala sobre cuándo usar val con una colección mutable versus usar var con una colección inmutable? ¿O debería apuntar a val con una colección inmutable? El hecho de que haya ambos tipos de colección me da muchas opciones y, a menudo, no sé cómo tomar esa decisión.

¿Cuál es el mejor nombre para un método de “agregar” no mutante en una colección inmutable?

Perdón por el título de Waffly: si pudiera encontrar un título conciso, no tendría que hacer la pregunta. Supongamos que tengo un tipo de lista inmutable. Tiene una operación Foo(x) que devuelve una nueva lista inmutable con el argumento especificado como un elemento adicional al final. Entonces, para crear una lista de cadenas con los […]

¿Cómo evitar el problema de “demasiados parámetros” en el diseño de API?

Tengo esta función API: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) No me gusta Porque el orden de los parámetros se vuelve innecesariamente significativo. Se vuelve más difícil agregar nuevos campos. Es más difícil ver lo que se está pasando. Es más difícil refactorizar el […]

Ventajas de la progtwigción sin estado?

Recientemente he estado aprendiendo sobre progtwigción funcional (específicamente Haskell, pero también he asistido a tutoriales sobre Lisp y Erlang). Si bien encontré los conceptos muy esclarecedores, todavía no veo el lado práctico del concepto de “sin efectos secundarios”. ¿Cuáles son las ventajas prácticas de esto? Estoy tratando de pensar en la mentalidad funcional, pero hay […]

Es entero inmutable

Sé que esto es probablemente muy estúpido, pero muchos lugares afirman que la clase Integer en Java es inmutable, sin embargo, el siguiente código: Integer a=3; Integer b=3; a+=b; System.out.println(a); Se ejecuta sin ningún problema dando el resultado (esperado) 6. Entonces efectivamente el valor de a ha cambiado. ¿Eso no significa que Integer es mutable? […]

Ejemplos de clases inmutables

Ya conozco la definición de clases inmutables, pero necesito algunos ejemplos.

.clone () o Arrays.copyOf ()?

En un esfuerzo por reducir la mutabilidad, deberíamos usar public void setValues(String[] newVals) { this.vals = ( newVals == null ? null : newVals.clone() ); } o public void setValues(String[] newVals) { this.vals = ( newVals == null ? null : Arrays.copyOf(newVals, newVals.length) ); }

Hacer objeto inmutable de Java

Mi objective es hacer que un objeto Java sea inmutable. Tengo una clase Student . Lo codifiqué de la siguiente manera para lograr la inmutabilidad: public final class Student { private String name; private String age; public Student(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; […]