สำหรับการอ้างอิง - http://en.wikipedia.org/wiki/Single_responsibility_principle
ฉันมีสถานการณ์จำลองการทดสอบซึ่งในโมดูลของแอปพลิเคชันหนึ่งรับผิดชอบในการสร้างรายการบัญชีแยกประเภท มีงานพื้นฐานสามประการที่สามารถดำเนินการได้ -
- ดูรายการบัญชีแยกประเภทที่มีอยู่ในรูปแบบตาราง
- สร้างรายการบัญชีแยกประเภทใหม่โดยใช้ปุ่มสร้าง
- คลิกที่รายการบัญชีแยกประเภทในตาราง (กล่าวถึงในตัวชี้แรก) และดูรายละเอียดในหน้าถัดไป คุณสามารถลบรายการบัญชีแยกประเภทในหน้านี้
(มีการดำเนินการ / การตรวจสอบเพิ่มเติมอีกสองสามครั้งในแต่ละหน้า แต่เพื่อความกระชับฉันจะ จำกัด เฉพาะสิ่งนี้
ดังนั้นฉันตัดสินใจที่จะสร้างสามชั้นที่แตกต่างกัน -
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
คลาสเหล่านี้มีบริการที่สามารถทำได้ในหน้าเหล่านั้นและการทดสอบซีลีเนียมใช้คลาสเหล่านี้เพื่อนำแอปพลิเคชันไปสู่สถานะที่ฉันสามารถยืนยันได้
เมื่อฉันได้รับการตรวจสอบกับเพื่อนร่วมงานของฉันแล้วเขาก็ whelmed มากกว่าและขอให้ฉันทำหนึ่งชั้นเดียวสำหรับทุกคน แม้ว่าฉันจะรู้สึกว่าการออกแบบของฉันสะอาดมาก แต่ฉันก็ยังสงสัยว่าถ้าฉันใช้หลักการความรับผิดชอบเดี่ยวมากเกินไป