Về vụ sổ tay, ý tớ là cái ảnh của cậu có kích thước tương đương với 1 cái sổ tay, cho cậu dễ hình dung
Point của tớ là dữ liệu đó rất lớn, phòng TH cậu chưa hiểu.
Tớ đồng ý với cậu là tùy bài toán, cậu cần thiết kế khác nhau. Tuy nhiên, tớ sẽ diễn đạt lại ý trên của cậu (chính xác hơn là ý tớ hiểu về bài toán của Vinaphone/Mobile phone) như sau:
Vấn đề không phải dữ liệu đó có quan trọng hay không, vấn đề là yêu cầu về tính toàn vẹn dữ liệu.
Trong bài toán của Vinaphone, sự toàn vẹn dữ liệu xác thực rất quan trọng. Nếu 1 user mới được tạo ra, nó phải có ảnh CMT ngay lập tức, nhằm phục vụ xác thực.
Việc lưu trữ ảnh ở 1 external server khác có thể dẫn tới sự không toàn vẹn dữ liệu, khi ảnh đó có thể bị mất khi external server gặp vấn đề.
Tớ kỳ vọng sự giải thích cụ thể như vậy, hơn “dữ liệu đó quan trọng, nên nó được lưu vào DB” - quá abstract và khó thuyết phục. Và với vấn đề này, thiết kế đưa ảnh vào DB là hợp lý.
Cảm ơn cậu về mấy cái tên này nhé, tớ đoán chỉ trong TH CMT, sử dụng nhằm mục đích xác thực và yêu cầu cao về sự toàn vẹn dữ liệu xác thực, họ lưu ảnh như vậy. Chắc chắn in general, việc lưu ảnh trên DB ảnh hưởng rất lớn tới network consumption và performance.
Đây không phải vấn đề cách nghĩ của từng người đâu cậu.
Thiết kế là thứ được đưa ra để giải quyết vấn đề. Nếu thiết kế không có lý và giải quyết vấn đề, nó là rác rưởi.
Không có thứ gọi là “cách nghĩ từng người” để giải thích cho quyết định design.
Cậu không nên dùng cụm từ đó khi giải thích về quyết định thiết kế. Tất cả bọn tớ đều reasonable, và bọn tớ muốn nghe những thứ reasonable.