แอพแชท iOS เขียนตามสถาปัตยกรรม Viper และ BDD
ด้วยโครงการนี้ฉันต้องการรวบรวมแนวทางปฏิบัติที่ดีที่สุดทั้งหมดที่ฉันสามารถหาได้เมื่อทำงานกับสถาปัตยกรรมไวเปอร์และวิธี BDD Viper คือการใช้งานสถาปัตยกรรมที่สะอาดของลุงบ๊อบและมันผลักดัน SRP (หลักการรับผิดชอบเดี่ยว) ถึงขีด จำกัด แม้ว่ามันจะทำงานได้อย่างราบรื่นกับแอพเชิงเส้นและง่าย แต่ก็มีกรณีที่ Viper ไม่พอดีอย่างสมบูรณ์แบบโดยไม่ต้องคิดต่อไปอีกเล็กน้อย: การสื่อสารระหว่างโมดูลหรือคอนเทนเนอร์มุมมองการทำงานเช่น UIPAGEVIEWCONTROLLERS, UITABBARCONTROLLERS หรือเมนูเบอร์เกอร์ การฉีดขึ้นอยู่กับการพึ่งพาเป็นความท้าทายอีกประการหนึ่งโดยเฉพาะอย่างยิ่งสำหรับกรณีที่บริการถูกนำกลับมาใช้ใหม่ในโมดูลที่แตกต่างกันของแอพ
ที่นี่คุณสามารถหางานนำเสนอการพูดคุยที่ฉันให้เกี่ยวกับ Viper และ BDD: https://robertogarrido.com/wp-content/uploads/2017/06/clean-architectures-and-bdd-on-ios-github.pdf
ที่นี่คุณสามารถค้นหารายการการอ่านที่น่าสนใจเกี่ยวกับ Viper และ BDD:
รูปแบบสถาปัตยกรรม iOS: https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52
สถาปัตยกรรมแอพ iOS ด้วย Viper: https://www.objc.io/issues/13-architecture/viper/
สถาปัตยกรรมแอพมือถือด้วย (b) โมดูล Viper-วิธีการทางวิศวกรรมที่มีโครงสร้างสำหรับแอพมือถือขนาดใหญ่: http://digital.travelport.com/blog/architecting-mobile-apps-with-bviper-modules
สถาปัตยกรรม Viper: แนวทางปฏิบัติที่ดีที่สุดของเราในการสร้างแอพเช่นเจ้านาย: https://cheesecakelabs.com/blog/best-practices-viper-architecture/
สถาปัตยกรรมโครงการ iOS: การใช้ Viper: https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/
วิศวกรรมสถาปัตยกรรมที่อยู่เบื้องหลังแอพ Rider ใหม่ของ Uber: https://eng.uber.com/new-rider-app/
ฉันคือ Roberto Garrido นักพัฒนา iOS อิสระสำหรับจ้างบนเว็บไซต์ของฉัน: https://robertogarrido.com