2
ควรสร้างวัตถุ stateful ควรเป็นแบบจำลองชนิดของเอฟเฟกต์หรือไม่?
เมื่อใช้สภาพแวดล้อมที่ใช้งานได้เช่น Scala และcats-effectควรสร้างแบบจำลองวัตถุที่มีสภาวะเป็น state หรือไม่? // not a value/case class class Service(s: name) def withoutEffect(name: String): Service = new Service(name) def withEffect[F: Sync](name: String): F[Service] = F.delay { new Service(name) } การก่อสร้างไม่ได้ทำผิดได้ดังนั้นเราจึงสามารถใช้ typeclass Applyปรับตัวลดลงเช่น // never throws def withWeakEffect[F: Applicative](name: String): F[Service] = new Service(name).pure[F] ฉันเดาว่าทั้งหมดนี้บริสุทธิ์และไม่แน่นอน เพียง แต่ไม่อ้างอิงอย่างโปร่งใสเนื่องจากอินสแตนซ์ที่ได้นั้นแตกต่างกันในแต่ละครั้ง เป็นเวลาที่ดีในการใช้เอฟเฟกต์หรือไม่? หรือจะมีรูปแบบการทำงานที่แตกต่างกันที่นี่