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 Làm sao xác định là mình cần bao nhiêu class, method nào....  XML
  [Discussion]   Làm sao xác định là mình cần bao nhiêu class, method nào.... 21/07/2006 05:39:40 (+0700) | #1 | 8537
lychailon
Member

[Minus]    0    [Plus]
Joined: 03/09/2005 01:56:48
Messages: 30
Offline
[Profile] [PM]
Hồi trước đi học, lúc đó học lập trình dạng thủ tục , được thầy dạy cho cách xác định cấu trúc dữ liệu để lập trình (giờ trả thầy gòi ! smilie ). Khi chuyển sang lập trình dạng hướng đối tượng thì em không được chỉ cách xác định là mình cần bao nhiêu đối tượng, cách xác định các hành động của đối tượng..... Giờ tự ngồi mò mẫm cái C# , lúc làm bài tập thì không biết làm thế nào để xác định mình cần bao nhiêu lớp, phương thức nào, thiết kế lớp interface, abstract,....

Em nhớ là có đọc đâu đó là mình phải xác định các tình huống có thể để suy ra các lớp và dựa vào chỗ nào đó để suy ra phương thức. Nhưng bị giờ thì chịu luôn ! Hong biết làm thế nào !

Bác nào biết chỉ em với nha . thks !
[Up] [Print Copy]
  [Question]   Re: Làm sao xác định là mình cần bao nhiêu class, method nào.... 21/07/2006 09:27:39 (+0700) | #2 | 8607
[Avatar]
dohaichau02
Member

[Minus]    0    [Plus]
Joined: 05/07/2006 16:55:23
Messages: 36
Location: My Computer
Offline
[Profile] [PM] [Email] [Yahoo!]
C# thì mình ko chơi, mình dùng VB.Net nhưng mờ cũng là thuần đối tượng. Mình thấy những hàm, thủ tục nào có thể dùng chung, (dùng nhiều nơi) hoặc là những đoạn code sẽ cộp được vào nhiều nơi khác (cùng chức năng) ==> thì nên tạo nó thành 1 class, đóng gói lại và dùng chung. smilie
[Up] [Print Copy]
  [Question]   Re: Làm sao xác định là mình cần bao nhiêu class, method nào.... 22/07/2006 05:18:10 (+0700) | #3 | 8883
lychailon
Member

[Minus]    0    [Plus]
Joined: 03/09/2005 01:56:48
Messages: 30
Offline
[Profile] [PM]
Tớ nghĩ chắc là phải có một phương pháp nào đó để giúp ta chia lớp cho nó hiệu quả . Chứ nếu không , ngồi suy nghĩ khơi khơi viết xuống giấy linh tinh thì làm sao mà xác định được các lớp cơ chứ . Nếu mà viết ra cả đống vấn đề, nhìn không biết đâu là lớp đâu là phương thức, cái nào phù hợp cái nào,...

Tớ có một quyển sách mượn được từ một người bạn cũ. Quyển sách nói về UML . Tớ quên mất nguyên chữ của nó là gì rồi ! Nhưng trong quyển sách đó có nói về phương pháp xác định class dựa vào các tình huống sử dụng ( use case) . Mà muốn xác định các use case thì ta phải "nhập vai" vào một ai đó hay cái gì đó để có góc nhìn phù hợp( user view, program view,...) . Chỉ tiếc là quyển sách này nó là một cái khung giáo trình, chứ không phải là một quyển sách hướng dẫn thực thụ, nên tớ đọc và nắm vấn đề nhưng vẫn không thực hành được. Tớ thấy mình còn thiếu kỹ năng gì đó .

vd : Tớ đặt mình ở vị trí là user view . Ở vị trí là một người dùng bình thường thì cái ứng dụng web tin tức sẽ có các tình huống sử dụng như sau :

actor -> truy cập server lần đầu -> server trả về trang chủ -> actor.

actor -> Ra yêu cầu tìm bản tin nào đó -> server thực hiện tìm kiếm -> server trả về kết quả -> actor

*actor : là một người hay một hệ thống nào đó tương tác với ứng dụng hay hệ thống mà ta đang xét .
*Entity : đối tượng hay lớp tương tác với hệ thống
*Boundary : lớp hay đối tượng cung cấp các thông tin giúp cho hệ thống họat động
*Control : lớp chịu trách nhiệm xử lý tình huống

Use case ------------------------Control--------------Entity--------------Boundary

truy cập server lần đầu---BusinessClass----PresentationClass----DataClass

server trả về trang chủ---PresentationClass-----------^-------BusinessClass

Ra yêu cầu tìm bản tin nào đó^--------------PresentationNewsClass-------^

server thực hiện tìm kiếm --BusinessNewsClass--PresentationNewsClass--DataNewsClass

server trả về kết quả----PresentationNewsClass------^--------BusinessNewsClass

Vấn đề nằm ở chỗ , tớ hong biết mình xác định tình huống sử dụng có đúng hay không . Kế đến là mỗi tình huống như thế, tớ xác định lớp có đúng hay không, dư hay thiếu ,....

Mong mấy bạn chỉ điểm nha ! Cám ơn .

[Up] [Print Copy]
  [Question]   Re: Làm sao xác định là mình cần bao nhiêu class, method nào.... 22/07/2006 20:59:54 (+0700) | #4 | 9035
lychailon
Member

[Minus]    0    [Plus]
Joined: 03/09/2005 01:56:48
Messages: 30
Offline
[Profile] [PM]
Hong có ai rãnh rỗi giúp em cả sao ! hix, dù sao thì hôm nay cuối tuần. Đi hành hiệp giang hồ cho đỡ buồn !!!! smilie
[Up] [Print Copy]
  [Question]   Làm sao xác định là mình cần bao nhiêu class, method nào.... 27/07/2006 10:07:42 (+0700) | #5 | 10274
mr.mephis
Member

[Minus]    0    [Plus]
Joined: 26/06/2006 23:09:10
Messages: 3
Offline
[Profile] [PM]
đọc thinking in java đi bạn, học lập trình cao cấp thì ngôn ngữ nào ko quan trọng miễn là oop, gud luck
[Up] [Print Copy]
  [Question]   Re: Làm sao xác định là mình cần bao nhiêu class, method nào.... 28/07/2006 11:05:17 (+0700) | #6 | 10538
[Avatar]
hakuso
HVA Friend

Joined: 04/01/2004 13:28:06
Messages: 287
Location: làng Đo Đo
Offline
[Profile] [PM]

lychailon wrote:
Vấn đề nằm ở chỗ , tớ hong biết mình xác định tình huống sử dụng có đúng hay không . Kế đến là mỗi tình huống như thế, tớ xác định lớp có đúng hay không, dư hay thiếu ,.... 


cách bạn phân tích đúng hay sai, dư hay thiếu không ai giúp cho bạn tốt bằng chính bạn cả. Có vài điều gây mâu thuẫn
1. Bạn đang làm về cái gì ? Mục tiêu, chức năng của sản phẩm bạn là gì ?
2. Những tiêu chuẩn nào sẽ đánh giá sản phẩm bạn là ra là tốt ?
3. Các yêu cầu tồi thiểu mà sản phẩm bạn cần đáp ứng ?

VD nếu bạn muốn tìm hiểu về cách design lớp, rất đơn giản: hãy viết một website về gì đó (như quản lý tin tức hay 1 diễn đàn nhỏ với các tính năng rất cơ bản). Cho website hoạt động và kêu gọi mọi người đóng góp ý kiến nâng cấp chức năng, nếu bạn nâng cấp dễ dàng thì chứng tỏ bạn đã thiết kế lớp rất tốt (thay đổi trong mã nguồn là ít).
Sở dĩ mình nói nhiều như vậy là vì mục tiêu thiết kế bạn không rõ ràng dẫn đến câu trả lời cho câu hỏi bạn là : sao cũng được, có ai bắt mình phải thiêt kế giỏi đâu. Đúng không :wink:
Bạn nên đầu tư công sức vào viết 1 website bằng ngôn ngữ hướng đối tượng nào đó đi, để có cái nhìn tổng quát về thiết kế lớp và nhiều kĩ năng khác như database, đồ hoạ, html


ctor -> truy cập server lần đầu -> server trả về trang chủ -> actor.

actor -> Ra yêu cầu tìm bản tin nào đó -> server thực hiện tìm kiếm -> server trả về kết quả -> actor

*actor : là một người hay một hệ thống nào đó tương tác với ứng dụng hay hệ thống mà ta đang xét .
*Entity : đối tượng hay lớp tương tác với hệ thống
*Boundary : lớp hay đối tượng cung cấp các thông tin giúp cho hệ thống họat động
*Control : lớp chịu trách nhiệm xử lý tình huống

Use case ------------------------Control--------------Entity--------------Boundary  


Có 1 ngôn ngữ (không phải ngôn ngữ lập trình) dùng để diễn tả những gì mà bạn đã type. Nó gọi là UML. UML là ngôn ngữ dùng dễ miêu tả và tài liệu phần mềm khi nó chưa hình thành. Lập trình viên nhìn vào UML sẽ biết rõ về phần mềm mình đang làm
Sách UML có nhiêu ngoài tiệm đó smilie

Chúc bạn thành công
Live, fight, work and study
[Up] [Print Copy]
  [Question]   Làm sao xác định là mình cần bao nhiêu class, method nào.... 28/07/2006 16:17:51 (+0700) | #7 | 10573
[Avatar]
ChinhVn
Elite Member

[Minus]    0    [Plus]
Joined: 07/05/2003 12:06:21
Messages: 80
Offline
[Profile] [PM] [Yahoo!]
Hasuko nói rất đúng. Kô biết trong trường các bạn đc học thế nào, chứ UML rất nên dạy trước khi dạy OOP. Khi đó thì tư duy hướng đối tượng có căn bản và việc tiếp cận sẽ dễ hơn
[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|