6
"Mapper" เป็นรูปแบบการออกแบบที่ถูกต้องหรือเป็นรูปแบบของ "โรงงาน" หรือไม่
รูปแบบทั่วไปที่ฉันเห็นคือสิ่งที่เรียกว่าMapperรูปแบบ (เพื่อไม่ให้สับสนDataMapperซึ่งเป็นอย่างอื่นทั้งหมด) ซึ่งใช้เป็นอาร์กิวเมนต์แหล่งข้อมูล "ดิบ" บางชนิด (เช่น ADO.NET DataReaderหรือDataSet) และแมปเขตข้อมูลไปยัง คุณสมบัติบนวัตถุธุรกิจ / โดเมน ตัวอย่าง: class PersonMapper { public Person Map(DataSet ds) { Person p = new Person(); p.FirstName = ds.Tables[0].Rows[0]["FirstName"].ToString(); // other properties... return p; } } แนวคิดเป็นเกตเวย์ / DAO / Repository / ฯลฯ ของคุณ จะโทรเข้าไปใน Mapper ก่อนที่จะส่งคืนดังนั้นคุณจะได้รับวัตถุทางธุรกิจที่หลากหลายเมื่อเทียบกับที่เก็บข้อมูลพื้นฐาน อย่างไรก็ตามดูเหมือนว่าจะเกี่ยวข้องกันหากไม่เหมือนกันกับแพทเทิร์น Factory (ใน …