Cách cải thiện kỹ năng trong kiến ​​trúc phần mềm [đã đóng]


9

Cách tốt nhất để cải thiện kỹ năng của bạn trong kiến ​​trúc phần mềm là gì? Chúng tôi được dạy các mẫu thiết kế ở trường đại học, và tôi thấy rất nhiều sách với các ví dụ đơn giản và dễ hiểu, nhưng ngoài chúng ra, làm thế nào bạn có thể học kiến ​​trúc tốt? Nói cách khác, làm thế nào để một người phát triển thành một kiến ​​trúc sư vĩ đại? Các điều kiện tiên quyết là gì?


4
Hãy thử trường học của gõ cứng ... nghiêm túc.
Công việc

Câu trả lời:


20
  1. Mạng . Nhận biết một số kiến ​​trúc sư giỏi. Nói chuyện với họ. Học hỏi từ họ, và nảy ý tưởng ra khỏi chúng.

  2. Đọc ngấu nghiến . Có hàng trăm cuốn sách về kiến ​​trúc phần mềm (thậm chí nhiều cuốn hay). Đọc về chủ đề, và đọc các chủ đề liên quan (kiến trúc xây dựng, cấu trúc quản lý, kỹ thuật điện, kiến ​​trúc vận hành, v.v.).

  3. Học kiến ​​trúc . Có hàng ngàn nền tảng và sản phẩm ngoài kia. Nhìn họ kìa. Phân chia các bộ phận của họ. Một số cách học tốt nhất của tôi từ sớm là từ việc xem xét các kiến trúc tuyệt vời (ví dụ, nhìn vào các ngôn ngữ nhỏ, các tệp được đóng gói và các cấu trúc đơn giản trong nguồn Doom gốc).

  4. Hãy suy nghĩ, phác họa, thử . Thực hành kỹ năng thiết kế của bạn về các vấn đề tưởng tượng. Vấn đề vui. Vấn đề thú vị.

  5. Làm . Làm việc trên các hệ thống thực. Vận chuyển chúng. Cảm nhận nỗi đau gây ra bởi những quyết định tồi tệ của bạn, nỗi đau bạn gây ra cho các nhà phát triển của bạn và học hỏi từ nó. Kiến trúc tốt là trong việc cân bằng những gì bạn nhận được, cách bạn đến đó và chi phí bao nhiêu.


Các nguồn lực tốt nhất theo ý kiến ​​của bạn là gì?
Geek

Tôi khuyên mọi người nên học cách tự đánh giá các tài nguyên, vì việc tìm kiếm tài liệu tốt (và biết nó là gì) là một vấn đề khó. Tôi có thể nói rằng bạn nên nhìn vào sách giáo khoa kinh điển vào một lúc nào đó (những cuốn xác định tên miền), và sau đó những gì người khác coi là kiến ​​trúc tuyệt vời. Bạn có thể không đồng ý với kinh điển hoặc các kiến ​​trúc vĩ đại đã biết, nhưng đó là nơi để bắt đầu suy nghĩ của bạn.
Bruce Alderson

6

Cá nhân, tôi nói rằng tôi đã học được nhiều hơn từ thử nghiệm tuyệt đối và lỗi hơn là tôi đọc được. Bạn có thể ngạc nhiên về số lượng những ý tưởng điên rồ mà bạn có được là tốt và số lượng ý tưởng tuyệt vời hóa ra là khủng khiếp. Nhưng bạn không bao giờ biết điều đó cho đến khi bạn cố gắng. Điều này đúng như vậy khi bạn lần đầu tiên bắt đầu viết mã như khi bạn đi được nửa đường. Đừng dính vào một kiến ​​trúc không hoạt động chỉ vì đó là những gì bạn đã quyết định.

Cuối cùng, dành thời gian để suy nghĩ giải pháp của bạn thông qua. Cố gắng hết sức để không lắng nghe đồng nghiệp và người quản lý, những người gây áp lực cho bạn không nghĩ mọi thứ và chỉ bắt đầu viết mã.


Suy nghĩ +1 là tối quan trọng, hãy thử phác thảo suy nghĩ của bạn bằng UML. Xem xét vấn đề càng cụ thể càng tốt. Tôi nghĩ rằng thiết kế sẽ tốn gấp đôi thời gian so với mã hóa
didxga

2

Một lập trình viên nghĩ về việc giải quyết vấn đề; một kiến ​​trúc sư nghĩ về việc duy trì giải pháp, giới hạn việc thực hiện áp dụng cho giải pháp, các lĩnh vực thực hiện để cải thiện khi thời gian cho phép, các lĩnh vực thực hiện có thể bị bỏ qua hoặc giảm phạm vi nếu lịch trình trượt, phụ thuộc (cả bên trong và bên ngoài ) có thể ảnh hưởng đến hiệu suất của việc triển khai và những điều có thể được thực hiện để hạn chế rủi ro, đào tạo cần thiết cho người dùng mới của hệ thống, tài liệu được phát triển và những thay đổi cần thiết khi triển khai đi lệch khỏi giải pháp được hình dung và cách những người nắm giữ cổ phần cảm nhận về tiến trình đang được thực hiện và khả năng áp dụng của việc thực hiện đối với vấn đề thực tế đang được giải quyết.

Trở thành một kiến ​​trúc sư đòi hỏi bạn phải có khả năng giao tiếp hiệu quả, sắp xếp các suy nghĩ và kế hoạch của bạn thành một lịch trình khả thi, phân tách một vấn đề thành các phần có thể thực hiện, xây dựng các nguyên mẫu của các phần thử thách kỹ thuật và phối hợp thực hiện các phần để mọi thứ kết thúc đúng lúc.

Tìm hiểu sơ đồ giải pháp của bạn bằng Enterprise Architect , Visio hoặc bút chì và giấy. Như đã đề cập trong các câu trả lời khác, hãy nhờ một cố vấn kiến ​​trúc sư và chia sẻ sơ đồ giải pháp của bạn với họ để xem xét. Nghe phản hồi và xem lại sơ đồ của bạn.

Tìm hiểu để xây dựng lịch trình thực tế. Bắt đầu theo dõi bạn mất bao lâu để thực hiện mọi việc và theo dõi mức độ gần gũi của bạn để ước tính chính xác thời gian cần thiết.

Chia nhỏ bài tập tiếp theo của bạn thành các phần nhỏ trước khi bạn bắt đầu viết mã và theo dõi các bước bạn bỏ qua. Tìm hiểu để dự đoán các khu vực có vấn đề và tạo nguyên mẫu cho chúng trước khi bạn bắt đầu mã hóa giải pháp cuối cùng.

Bài viết được liên kết bởi Pierre 303 trong câu trả lời này cho một câu hỏi tương tự cũng đáng được thêm vào đây:

Ai cần một kiến ​​trúc sư từ Martin Fowler

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.