วันนี้เจอ code ที่เขียนด้วยภาษา Swift ที่น่าสนใจ
เกี่ยวกับการใช้งาน protocol
แถมเจอบทความอธิบายเรื่องนี้ด้วย Protocol Composition
เลยนำมาสรุปกับ code ที่พบเจอด้วยเลย
โดย code เหมือนจะดูดีนะ แต่มีหลายเรื่องที่สามารถปรับปรุงให้ดีขึ้นได้
มาเริ่มกันเลย [gist id="f702eba2cea3970f917b30f5eacff07a" file="1.swift"] คำอธิบาย ใน protocol สำหรับการจัดการข้อมูล ซึ่งมีความสามารถในการอ่านและเขียนข้อมูล ดังนั้นถ้า struct/class ทำการ implement protocol นี้ ต้องทำการ implement ทั้งการอ่านและการเขียนเสมอ เหมือนจะดูดีแต่ไป ๆ มา ๆ เจอ code แนวนี้ใน project อีก
[gist id="f702eba2cea3970f917b30f5eacff07a" file="2.swift"] คำอธิบาย คำถามที่เกิดขึ้นมาทันทีคือ มันคือ read only แล้วทำไมต้องมีการเขียน หรือ method write() ด้วย ? ไม่แน่ใจนักพัฒนาหลาย ๆ คนเคยเจอ code แนวนี้หรือไม่ ?ถ้าเจอแล้ว สิ่งที่ทำคืออะไร ?
- ปล่อยมันไป อย่าไปยุ่งกับมัน
- ถ้าต้องใช้ protocol นี้อีกก็ทำเหมือน ๆ กัน
- ต้องแก้ไข
- แก้อะไร มันมีอะไรผิดหรอ