banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows OOP - ta được gì???  XML
  [Question]   OOP - ta được gì??? 06/01/2007 18:14:41 (+0700) | #1 | 34678
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Không biết khi viết một ứng dụng web theo mô hình Hướng đối tượng thì tốc độ của ứng dụng so với bình thường sẽ như thế nào?

Mong mọi người cho ý kiến.




Chia sẻ bí quyết thành công của Google, Marissa Mayer - trưởng bộ phận quản lý các công cụ tìm kiếm - cho rằng đó chính là tốc độ của các dịch vụ. Bà cho rằng "… chậm chạp, dù cho vững vàng, cũng sẽ không thể chiến thắng" (phải chăng đây là khẩu hiệu của Google?) và tốc độ là "… nhân tố lớn nhất và động lực thị trường mạnh nhất của web 2.0". 


P.S: không tính tới các ứng dụng trên desktop
[Up] [Print Copy]
  [Question]   Re: OOP - ta được gì??? 06/01/2007 22:19:29 (+0700) | #2 | 34689
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Bồ muốn bàn đến phương diện nào của OOP? Tốc độ ở đây là tốc độ thực thi của chương trình hay tốc độ hoàn tất (viết) một chương trình?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   OOP - ta được gì??? 07/01/2007 12:44:10 (+0700) | #3 | 34814
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Tất nhiên là tốc độ thực thi chương trình rồi anh. Thực thi nhanh thì tạo mã html nhanh, người ta duyệt nhanh.
[Up] [Print Copy]
  [Question]   OOP - ta được gì??? 07/01/2007 15:43:00 (+0700) | #4 | 34843
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]
Không ai lại đi lấy OOP để làm căn cứ đo tốc độ chương trình cả smilie
[Up] [Print Copy]
  [Question]   OOP - ta được gì??? 08/01/2007 14:09:15 (+0700) | #5 | 34976
114v
Member

[Minus]    0    [Plus]
Joined: 08/07/2006 23:27:00
Messages: 191
Offline
[Profile] [PM]
Vậy nó để làm gì anh??? Có nên viết OOP hay không??? Theo em thấy thì đối với các ứng dụng web, tốc độ là nền tảng của ứng dụng, cái mà end-user dễ nhận ra nhất, có nhanh thì họ mới cho là tốt, không ai thích dùng mà nó lại chậm như rùa cả. Có ai thích vào website mà site đó chậm đâu smilie

Theo em hiểu thì ý của anh conmale là OOP giúp viết chương trình nhanh hơn, nhưng nó chênh lệch bao nhiêu so với cách viết thông thường. Chắc là không nhiều, có lẽ còn phụ thuộc vào cách dựng cấu trúc cho ứng dụng.
[Up] [Print Copy]
  [Question]   OOP - ta được gì??? 08/01/2007 16:13:44 (+0700) | #6 | 34992
LeVuHoang
HVA Friend

Joined: 08/03/2003 16:54:07
Messages: 1155
Offline
[Profile] [PM]
Đầu tiên, phải đọc hiểu OOP là gì:
http://en.wikipedia.org/wiki/Object-oriented_programming
[Up] [Print Copy]
  [Question]   OOP - ta được gì??? 08/01/2007 18:35:02 (+0700) | #7 | 35007
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

114v wrote:
Vậy nó để làm gì anh??? Có nên viết OOP hay không??? Theo em thấy thì đối với các ứng dụng web, tốc độ là nền tảng của ứng dụng, cái mà end-user dễ nhận ra nhất, có nhanh thì họ mới cho là tốt, không ai thích dùng mà nó lại chậm như rùa cả. Có ai thích vào website mà site đó chậm đâu smilie

Theo em hiểu thì ý của anh conmale là OOP giúp viết chương trình nhanh hơn, nhưng nó chênh lệch bao nhiêu so với cách viết thông thường. Chắc là không nhiều, có lẽ còn phụ thuộc vào cách dựng cấu trúc cho ứng dụng. 


OOP đã có từ lâu, từ trước khi web xuất hiện. Cho nên, OOP chắc chắn không được tạo ra để phục vụ tính hiệu suất của web.

Như LVH đã cho em cái link, em nên đọc và hiểu rõ hơn và OOP. Tổng quan mà nói, điểm cốt lõi và quan trọng của việc ứng dụng OOP trong lập trình là nó giúp cho việc thiết kế và hình thành một ứng dụng ở tình trạng abstract. Tại sao phải abstract? Lý do cốt lõi của nó là để tách rời những thực thi cụ thể cho từng trường hợp để giúp cho việc điều chỉnh, mở rộng... trở nên dễ dàng và nhanh chóng.

Ví dụ em có một class là Animal, nó là "abstract" cho tất cả thú vật. Ứng dụng cho Animal có thể có con mèo, con chó, con chuột, con gà, con vịt, con thỏ... và nếu là con mèo thì có những điểm chung của animal, có những điểm riêng của con mèo. Ví dụ em muốn mở rộng giống mèo ra thành 100 loại mèo khác nhau (mèo vằn, mèo xiêm, mèo tam thể....) và mỗi loại lại có đặc tính khác nhau thì chúng có thể dựa trên class conMeo mà không phải code lại tất cả các đặc tính của mèo. Sau này để điều chỉnh đặc tính của mèo tam thể (chẳng hạn), em không phải đụng tới Animal(), em không phải đụng đến Cat() mà em chỉ cần chỉnh MeoTamThe() là đủ. Nếu một bộ phận của software em viết cần thông tin về thú vật và về mèo, em chỉ cần cho nó call Cat(). Cat có cái gì là chuyện khác. Bởi thế, ứng dụng của em sạch và logic.

Độ nhanh của việc phát triển software dùng OOP so với procedural không hiển nhiên. Thậm chí nó có thể chậm hơn lúc đầu vì OOP cần thiết kế rõ ràng. Tuy nhiên, sau khi em đã thiết kế cụ thể những gì em cần và đã hình thành cấu trúc rõ ràng của các classes và objects, việc code, sửa code, mở rộng code sẽ nhanh chóng, gọn gàng và ít thiếu sót. Nếu có sự cố gì, em sẽ biết rõ chính xác nguyên nhân ở đâu gây ra lỗi và chỉ sửa chữa có 1 nơi thay vì phải rà xuyên qua code (ở dạng procedural) để sửa chữa và thay thế.

Độ nhanh trong việc thực thi đòi hỏi nhiều khía cạnh (từ môi trường đến máy chủ [hoặc cụm máy chủ] cho đến cấu trúc dữ liệu, cách viết, cách xử lý dữ liệu... Nó không trực tiếp phụ thuộc vào OOP hay Procedural.

Thân mến.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|