ไหนๆ ก็ไหนๆ วันนี้ได้กลับมาทำ prototype แรกของ Montana ผมก็วิ่งเข้าไปในเว็บ คิดว่า Cairngorm นี่แหละ จะเป็นแกนหลักในการพัฒนา เพราะ Montana นั้นออกแบบมาให้ทำงานกับ ระบบ enterprise เป็นหลัก หลังจากลงใช้ (เน้นว่าลงใช้นะครับ เพราะลองมาหลายหนแล้ว :) ) ทำมาเรื่อยๆ ก็พบเลยว่า มันเป็นอะไรที่มีทั้ง Good news และ Bad news เหมือนๆ กับที่ฝรั่งเขาเรียกกันว่า Pros กับ Cons หล่ะครับ เพราะจากการใช้เจ้า Cairngorm Framework มาหลายครั้งแล้ว ทำให้ผมจับใจความเน้นๆ ได้ว่า

Good news (for developer)

  • มีความเป็น design pattern สูง (ประกอบไปด้วย MVC, delegate, และ singleton)
  • การทำงานแบ่งแยกออกเป็นส่วนๆ อย่างชัดเจน ทำให้ง่ายต่อการแก้ไข

ฺBad news (for developer)

  • ฺBoiler plate code ต้มครับ หม้อใหญ่ด้วย เพราะถ้าใช้งานกันจริงๆ การที่จะเพิ่ม หนึ่ง function นี่ น้องๆ นิ้ว ต้องออกกำลังกายกันเยอะหน่อย (แต่ว่าความยากลำบากนี้จะหายไปใน Flash Builder 4 นะครับ โดยเขาเอาเข้าไปรวมกับตัว IDE เป็น code generator ให้เลย)
  • พอทำงานไปสักระยะ ถ้าไม่มีการประยุกต์เอาความรู้ของเราๆ เรื่อง Design pattern เข้าไปร่วมด้วยนี่ จะทำให้เกิดชุมชน class แออัดครับ โดยแนะนำให้ประยุกต์เข้ากับขนาดของ application เราดีกว่า ที่จะตามเขาหมด ไม่งั้น class ใน project จะยุ่บยั่บไปหมด

นั่นแหละครับ ความรู้สึกลึกๆ นี้ บอกผมว่า Cairngorm เหมือนกุหลาบ อุดมด้วยหนามแหลม หยิบดีๆ ก็หอมชื่นใจ แต่ปักไว้นานๆ ไม่ดูแลคอยแต่งดีๆ ละก็ อึ๋ยยยย