Trang chủ Kiến Thức Công Nghệ Tư duy kiến trúc thông qua các trò chơi mà rất nhiều bạn không biết
Công Nghệ

Tư duy kiến trúc thông qua các trò chơi mà rất nhiều bạn không biết

Chia sẻ
Chia sẻ

Tư duy kiến trúc là gì?

Tư duy kiến trúc có thể được hiểu là cách chúng ta suy nhĩ về một vấn đề nào đó theo kiểu kiến trúc, hoặc kiến trúc hoá nó.

Tham khảo thêm: https://en.wikipedia.org/wiki/Architectural_theory

Đây là một kỹ năng được yêu cầu trong nhiều lĩnh vực, từ xây dựng đến hội hoạ, nhiếp ảnh và cũng như lập trình.

Xem thêm: Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới

Với lập trình, khi bạn đã ở một level nhất định, thường là Junior muốn tiến lên Senior hoặc các vị trí Architect, đều sẽ phải quan tâm tới kiến trúc. Khi đó ứng dụng / chương trình chúng ta xây dựng không những chạy tốt mà còn phải có kiến trúc tốt.

Một chương trình được hiểu là có kiến trúc tốt là chúng sẽ được thiết kế ngay từ ban đầu với mục tiêu dễ tái sử dụng, dễ bảo trì (dễ test và debug) và dễ mở rộng.

Tư duy kiến trúc

Những trò chơi “ẩn giấu” tư duy kiến trúc

Những ai đã từng chơi game Sim City hoặc các thể loại xây dựng, hãy thử dành 1 phút để thử nghĩ rằng:

Bạn bắt đầu với một mảng đất trống trơn. Bạn sẽ kéo đường, chia khu vực trước hay đặt các công trình vào rồi tạo đường để kết nối chúng sau?

Nữa nha,

Với những anh em nào từng chơi qua các game thủ trụ (Tower Defend), hoặc các thể loại game xây dựng và đánh cướp (VD: Clash of Clan). Các anh em có hay đi tìm kiếm “Best practice” hay cách xây để được hiệu quả nhất không?

Mình dám chắc rằng ngoài những bạn thiên tài về thể loại game này và đô la thần chưởng (Pay to Win), ai cũng sẽ đôi lần đi tham khảo tìm cách xây sao cho đẹp và hiệu quả. Ở đây hiệu quả được hiểu là khai thác được tối đa công năng của các công trình.

Tới đây nếu ai chưa chơi bất kì một game nào về các thể loại trên… thì hy vọng cuối cùng chắc chắn ai cũng biết game xếp hình Teris huyền thoại. Một số bản mod của game này thêm mấy khối lạ lạ, đặc biệt là nó to hơn là dễ thua. Tại sao vậy nhỉ?!

Tất cả những điều trên là “hiện thân” của tư duy kiến trúc.

tư duy kiến trúc qua trò chơi xây dựng

Đầu tiên nếu bạn chơi Sim City mà xây dựng đường đi trước thì chúc mừng bạn nhé. Bạn có “tố chất” của một nhà hoạch định và kiến trúc sẵn rồi. Đơn cử chúng ta thấy ở ngoài đời thật, khi phát triển đô thị, các kiến trúc sư trưởng sẽ vẽ đường trước. Các khu vực được phân chia từ trước, mặt dù công trình chưa có cái nào.

Nếu bạn xây công trình trước, trong ngành phần mềm, giống như bạn đặt tay vào code một tính năng và tập trung vào nó nhiều hơn là tương lai nó phát triển và thay đổi như thế nào.

Ở các thể loại game thủ trụ và đánh cướp, tuỳ vào tính cách, chiến thuật mà chúng ta linh động. Link vào ngành IT thì nó giống như “tuỳ nghiệp vụ”. Việc cố gắng tìm kiếm best practice chỉ là một lựa chọn tham khảo, tránh xài một cách vô tội vạ, tiền mất tật mang.

Thực ra với ngành IT, kiến trúc cụ thể trong một phần mềm luôn có sự thay đổi theo thời gian. Cái chúng ta nhìn vào thực ra là cả một quá trình phát triển rồi. Họ chỉ có thể cho ta xem, nhưng không thể lý giải hết tại sao nó lại như thế. Đó mới là thứ quan trọng nhất bị ẩn giấu.

Mặt khác khi chúng ta nhìn vào code implement của một kiến trúc nào đó, nó không khác gì nhìn vào một thành phố nguy nga tráng lệ đã được hình thành và phát triển qua bao thế hệ. Lúc này việc cần làm là khả năng nhìn vào các phần chính. Như bao công trình ngoài kia, cái cấu trúc chịu lực chính nó nằm ở đâu, mấy cái còn lại chỉ là trang trí.

Cuối cùng cục Teris lớn hơn hay cục Lego lớn hơn chơi dễ thua và mau chán thì chắc các anh em quá hiểu rồi. Khối càng nhỏ thì khả năng tuỳ biến cao, khối càng lớn thì chỉ ghép lại được vài kiểu thôi nên mau chán.

Tóm lại:

Đừng để chơi game chỉ là việc giải trí, nó là một cách luyện tập rất tự nhiên và mạnh mẽ nhé các bạn.

Chia sẻ

Để lại bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết cùng chuyên mục
Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise
Công Nghệ

Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise

Trong bài viết này, 200Lab sẽ chia sẻ những trường hợp dễ...

Công Nghệ

So sánh Flutter vs React Native: Framework nào đáng học năm 2021

Điểm chung của Flutter, React Native đều là Cross-platform Mobile, build native...

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1
Công Nghệ

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1

Từ khi Internet ra đời, sự phát triển về các giao thức...

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!
Công Nghệ

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!

1. Client encode file (base64) rồi gởi về backend 200Lab đã từng...

Công Nghệ

React Native – Hướng dẫn làm việc với Polyline và Animated-Polyline trên Map

Vẽ đường đi trên bản đồ là một nghiệp vụ vô cùng...

Công Nghệ

Hybrid App và Native App: Những khác biệt to lớn

Bất cứ khi nào một công ty quyết định làm ứng dụng...

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới
Công Nghệ

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới

Đây là một kiến trúc cơ bản mà bất kì một người...

HTTP/3 là gì – Giao thức đột phá để tăng tải website
Công Nghệ

HTTP/3 là gì – Giao thức đột phá để tăng tải website

Nhắc lại một chút về HTTP/2 ở bài trước, từ khi giao...

Chiến lược leo lương: >= 1000$ NET (thậm chí > 3000$ NET)
Công Nghệ

Chiến lược leo lương: >= 1000$ NET (thậm chí > 3000$ NET)

Một ngàn đô Mỹ (1000$) là mức lương thường thấy cho vị...

Công Nghệ

Flutter vs React Native: Lựa chọn nào tốt nhất hiện nay

Flutter vs React Native? Có bao giờ bạn thắc mắc liệu sử...

Digital Ocean: Hướng dẫn tạo Droplet cùng 100$ FREE credit
Công Nghệ

Digital Ocean: Hướng dẫn tạo Droplet cùng 100$ FREE credit

Nếu bạn đang là người học lập trình, đặc biệt về backend,...

Công Nghệ

4 nguồn thu nhập thụ động dễ dàng cho lập trình viên

Cơ hội kiếm từ $ 500 đến $ 50.000 mỗi tháng Ai...