2009-12-22 35 views
10

Tôi đã lập trình Java trong 2 năm qua và bây giờ tôi muốn tham gia vào các ứng dụng Thiết kế. Cho đến nay tôi chỉ thành mã hóa tức là; i am được thiết kế tài liệu/sơ đồ lớp vv và yêu cầu mã. Bây giờ tôi muốn học cách thiết kế, ý tôi là tôi muốn dựa vào khi nào một lớp nên giao diện không phải là một lớp cụ thể, sắp tới với thiết kế được đưa ra theo yêu cầu, thiết kế techniqies và tất cả các khía cạnh khác của desiging.Cách tìm hiểu các ứng dụng thiết kế trong Java

Để tìm hiểu tất cả các bạn có thể đề nghị bất kỳ plese loạt các bài báo/sách vv

Tôi đã cố gắng đọc headfirst Design Patterns, nhưng mặc dù tôi có thể nắm bắt vài mẫu thiết kế, tôi vẫn không thể nhận được trên apllications desiging ngày của riêng tôi.

Vui lòng trợ giúp.

+0

Hi .... Bạn là người mới vì vậy chỉ cần một gợi ý ... Nếu bạn thích bất kỳ câu trả lời sau đó xin đừng quên chấp nhận nó. Nó khuyến khích người khác trả lời bạn. Chỉ cần kiểm tra 'dấu kiểm' bên dưới câu trả lời bạn thích nhất. :-) – Rites

Trả lời

11

Mẫu thiết kế là ví dụ khá tiên tiến về các tính năng thiết kế được xây dựng trên nguyên tắc cơ bản như Tách mối quan tâm, tính mạch lạc và khả năng mở rộng. Nếu bạn đang ở giai đoạn tự hỏi về giao diện và lớp học, bạn có thể cần phải làm một số đọc về những ý tưởng OO cơ bản. Ví dụ: đọc về nguyên tắc SOLID. Vì vậy, tôi sẽ không fisrt mua một cuốn sách, tôi sẽ bắt đầu tại bài viết đó và làm theo các liên kết và googles từ đó.

Sau đó, việc đọc không đủ, bạn cần làm.

Lần tới khi bạn lấy thông số, hãy nghiên cứu nó. Hiểu được vấn đề đang được giải quyết, sau đó về nhà và tự thiết kế. So sánh nỗ lực của bạn với thông số kỹ thuật. Hoặc xem xét các lựa chọn thay thế cho thông số bạn được cung cấp, giả sử bạn không có giao diện ở đây hoặc một Nhà máy ở đó tại sao điều này lại quan trọng?

Lý tưởng nhất, tăng trưởng của bạn sẽ được bật nếu bạn lãnh đạo sẽ bắt đầu cung cấp cho bạn ít vấn đề được chỉ định và cho phép bạn thiết kế chúng. Áp lực của dự án có thể ngăn chặn điều đó. Trong trường hợp đó tôi nghĩ bạn cần phải làm việc trong thời gian của riêng bạn. Chọn một số dự án nhỏ và làm việc trên chúng. Điều này có thể khó khăn, trừ khi bạn có cố vấn, nhưng tôi nghĩ rằng đọc mà không làm là sẽ không thúc đẩy bạn quá nhanh.

+1

+1 để đề xuất hiểu thông số kỹ thuật hiện có thông qua các thử nghiệm tư duy. Và đừng quên, nếu bạn xem xét một sự lựa chọn trong một thời gian và không thể thấy tại sao nó được thực hiện như thế, bạn * nên * có thể hỏi đồng nghiệp của bạn về nó. Vì vậy, miễn là bạn không làm xấu họ mỗi giờ hoặc lâu hơn, và họ có thể thấy rằng bạn đang cố gắng để tìm hiểu, tôi chắc chắn họ sẽ được hạnh phúc để giúp bạn hiểu. –

3

Đây là một câu hỏi phổ biến và tôi không đổ lỗi cho bạn vì đã hỏi! Đó là điều mà tất cả chúng ta đều suy ngẫm. Bạn có thể tìm thấy câu hỏi này, và câu trả lời liên quan, hữu ích: Learning/Implementing Design Patterns (For Newbies)

0

Cách duy nhất để cải thiện là để đọc các mẫu thiết kế, thử thứ, học hỏi từ những sai lầm, và nhận được lời khuyên từ những người có một số kinh nghiệm này rồi. Một điều khác là bạn nên biết khi nào không sử dụng các mẫu. một số lần chúng ta bỏ qua bởi các mẫu thiết kế và nó phá hỏng dự án.

2

Đối đầu thử điều này:

  1. Đọc một đoạn khoảng 1 thiết kế mẫu (như họ được liệt kê trong cuốn sách).
  2. Cố gắng hiểu vấn đề mà nó giải quyết được.
  3. Hãy tưởng tượng một số tác vụ có vấn đề này.
  4. Mã số.
  5. Vẽ sơ đồ lớp của chương trình trên một mẩu giấy (không có công cụ tự động).

Một mẫu mỗi ngày sẽ là vận tốc rất tốt.

0

Tôi đồng ý với Ben và muốn thêm 2 giá trị bobs của tôi ...

Thiết kế là một tác phẩm nghệ thuật và giống như vẽ nó không đến từ sách, nó xuất phát từ bên trong.

Các khái niệm như Mẫu thiết kế không phải là alpha và omega của thiết kế, chúng là một phần của bộ công cụ được sử dụng để tạo ra một thiết kế. Các mẫu thiết kế đặc biệt cho chúng ta một vốn từ vựng để mô tả cách tiếp cận để giải quyết một số vấn đề phổ biến. Tuy nhiên, xác định các sự cố cần giải quyết là một phần của nghệ thuật tạo thiết kế từ các yêu cầu.

Hãy xem các yêu cầu liên quan đến tài liệu thiết kế mà bạn nhận được để mã hóa. Hãy suy nghĩ về cách mà các nhà thiết kế đã phá vỡ các yêu cầu xuống thành một loạt các vấn đề hữu hạn để giải quyết.

Và tất nhiên, đừng ngại hỏi nhà thiết kế của bạn về cách tiếp cận của họ.

3

Bạn có thể đọc Java hiệu quả bởi Josh Bloch.

Các mẫu thiết kế tốt, chắc chắn đọc về chúng, nhưng nó biết khi sử dụng chúng là kỹ năng thực sự. Chủ yếu là bạn cần để có được bàn tay của bạn bẩn.

Một người lập trình tầm thường sẽ được giao nhiệm vụ, đập trên bàn phím cho đến khi họ có thứ gì đó hoạt động và tiếp tục. Đôi khi chỉ nhận được một cái gì đó làm việc là điều đúng để làm, nhưng thường là một coder như thế này để lại một loạt các mã khủng khiếp trong sự trỗi dậy của họ.

Bạn có thể học được một số tiền rất lớn từ cách tiếp cận học thuật hơn. Viết một số mã, làm cho nó hoạt động, sau đó cải thiện nó. Viết lại nó từ đầu tái sử dụng những gì bạn đã học được viết nó lần đầu tiên. Dành thêm thời gian xem xét những gì bạn có thể cải thiện liên quan đến tất cả các khía cạnh của mã: tốc độ, bộ nhớ, thuật toán, mẫu thiết kế, thậm chí cả kiểu mã hóa của bạn.

0

Cách tốt nhất để tìm hiểu điều gì đó là học bằng cách thực hiện và học hỏi từ các dự án thế giới thực khác.

Các mẫu thiết kế học tập là điều cần thiết để thiết kế các ứng dụng tốt, nhưng điều đó một mình sẽ không đủ. Ngoài sách/đọc/ví dụ tôi khuyên bạn nên đi qua thiết kế của các ứng dụng hiện có. Chọn một dự án nguồn mở - khám phá, thử nghiệm và đóng góp cho dự án. Trong khi đóng góp tìm hiểu về các nguyên tắc thiết kế và phương pháp được sử dụng trong dự án. Đừng ngại thử nhiều dự án cho đến khi bạn tìm thấy "một" mà kích thích bạn nhiều nhất.

Ofcourse ban đầu, bạn sẽ cần kiến ​​thức lý thuyết để bắt đầu với, vì vậy tôi khuyên bạn nên cuốn sách sau đây:

  • Áp dụng UML & Patterns bởi Larman
0

ứng dụng Thiết kế mất một chút thực tế, nhưng điều đó không nên ngăn bạn thử. Sau một thời gian, bạn sẽ nhận được hang của nó;

Mẹo: Hãy cố gắng học hỏi từ đồng nghiệp của bạn. Hãy để họ chỉ cho bạn cách họ thiết kế ứng dụng, họ làm theo quy trình gì, làm cách nào để họ xác định vấn đề và họ có sử dụng các mẫu để giải quyết chúng không? Đôi khi tốt nhất là xem quy trình thiết kế hoạt động như thế nào thay vì cố gắng tự học tất cả.

My 50 cent trên nguồn lực tốt:

  1. SourceMaking Design Patterns

  2. Video course on design patterns

Các vấn đề liên quan