Tra từ điển "Metaphor" nghĩa là phép ẩn dụ? Nhưng hiểu là phép ẩn dụ trong ngữ pháp tiếng Việt thì không hợp lắm. Giải thích một tí.
Vì sao lại có Object Oriented Programing?
Khi mới học môn lập trình hướng đối tượng, thầy Huy và cô Bích đã nói như thế nào nhỉ ? Giới lập trình máy tính muốn mô phỏng theo thế giới thực nghĩa là dùng ngôn ngữ lập trình diễn đạt sự vât theo đúng những gì đang diễn ra ở thế giới thực. Ví dụ dùng đối tượng car để mô tả một chiếc xe hơi, đối tượng quan_co, ban_co để mô tả thế cờ hay một loại cờ v.v...
Bài toán áp dụng cho OOP là viết một chương trình mô tả một quần thể, trong đó các cá thể sẽ có chu kỳ sống như sinh ra, lớn lên, hoạt động, sinh sản và cuối cùng là chết đi. Chương trình viết ra thật ấn tượng :">. Một cá thể đơn giản chỉ là những vòng tròn biết đi, phát triển theo thời gian.
Theo thời gian, mình lại quên đi ý tưởng ban đầu. Nhiều người chỉ nghĩ OOP nghĩa là dùng Java hay C++ :(. Hoặc khá hơn thì nghĩ OOP nghĩa là kế thừa, đóng gói, lớp, đối tượng. Cũng phải thôi.
OOP trải qua nhiều thời kỳ phát triển rồi. Cách mô tả Car, quan_co, ban_co cũng có nhiều biến động và nó không còn simulation nữa, người ta gọi nó là Metaphor.
Metaphor, hiểu đơn giản là simulation :D. Khi gặp một bài toán về máy tính, nhất là trong ngữ cảnh một enterprise application, hãy liên tưởng nó với một hoạt động cụ thể ở thế giới thực và trong lúc lập trình thì luôn nhớ về cái thế giới thực đó, code sẽ trong sáng và biểu cảm hơn. Liên tưởng thì yếu hơn mô phỏng y chang :D, chỉ khác có vậy thôi.
Metaphor là một cách hỗ trợ cho "lập trình như viết văn". Khi liên tưởng đến một vấn đề trong thế giới thực nghĩa là bạn đã phát biểu nó ĐƯỢC dưới dạng văn.
Một số tài liệu có thể tham khảo tốt về metaphor.
1/ Quyển Code Complete có cách diễn đạt và nhiều ví dụ rất hay.
2/ Quyển viết về Extreme Programing của Kent Beck
No comments:
Post a Comment