Streamlined Object Modeling ถ้าถามผมนะ ผมมองว่าเป็น Analysis Pattern นะ โดยในขั้นตอนนี้เป็นการปรับ Enity Class ที่ได้จากการ Use Case Realization มาใช้ Pattern ที่คุณ Peter Coad ได้คิดเอาไว้ครับ (คนนี้คิดได้หลายอย่างเลย โดยส่วนใหญ่เป็นการขยายภาพของ OO ใช้ชัดเจนมากขึ้น และเค้ายังคิดเรื่อง Feature Driven Development ด้วย) สำหรับในเรื่องนี้คุณ Peter Coad ได้แบ่งกลุ่มของ Object ไว้เป็น 4 ประเภท ครับ ได้แก่
- Person - เพราะในโลกของ Software คนเป็นผู้ใช้ที่เยอะที่สุด (ก็มันทำให้คนทำงานสบายขึ้นนี่) แต่บางครั้งมีระบบ (External System) มาด้วยนะ โดยเวลาที่คนเข้ามายุ่งกับระบบ ไม่ได้เข้ามายุ่งตรงๆ ต้องมีบทบาท(Role) ที่เข้ามาจัดการ สำหรับ Person มองว่ามัน คือ Actor ใน Use Case ก็ได้นะ
- Place - Action เกิดขึ้นที่ไหน อย่าลืมว่า OO มันการทำจำลองโลกแห่งความจริง เข้ามาในระบบ
- Thing - สิ่งที่ Person กระทำด้วย
- Event - จุดที่ Person, Place และ Thing มีปฏิสัมพันธ์ร่วมกัน ณ ช่วงเวลาใดเวลาหนึ่ง ทำให้เกิด Transaction ขึ้นมา
ตัวอย่าง เช่น ปิงซื้อหมูปิ้งที่หน้าบ้าน ถ้าแยกออกมาจาก Object Categories แล้ว
- Person = ปิง (ใน Role ของลูกค้า)
- Place = หน้าบ้าน
- Thing = หมูปิ้ง
- Event = ซื้อ จุดที Person Place และ Thing โคจรมาพบกัน มันจะเกิดTransaction
พอรู้จักกับประเภทของ Object แต่ละแบบแล้ว เรามามองในแง่ของความเกี่ยวข้อง การประสานงาน (Collaboration) โดยนำมาจัดเป็น Pattern Players
- Container(High)
- Action(Low) - สิ่งที่ทำ Event ต่างๆ เข้ากับระบบ
โดยเจ้าตัว Pattern Players มีการจัดเป็นกลุ่ม ดังนี้
Object Categories | Container(High) | Action(Low) |
---|---|---|
Person | Actor | Role |
Places | Outer Place | Place |
Things | Item | Specific Item |
Assembly | Part | |
Container | Content | |
Group | Member | |
Event | Transaction | Role |
Transaction | Place | |
Transaction | Specific Item | |
Composite Transaction | Line item | |
Specific Item | Item | |
Transaction | Followup Transaction |
Reference
- Strategies and Patterns Handbook: Hypertext Edition, Peter Coad
- Streamlined Object Modeling: Patterns, Rules, and Implementation
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.