Người dùng Stackoverflow: Rất nhiều thứ có thể được thể hiện trong chương trình bằng cách sử dụng các loại cơ bản, hoặc chúng tôi có thể tạo một lớp mới cho chương trình đó.Khi nào nên sử dụng các loại cơ bản (Số nguyên, Chuỗi) và khi nào cần viết một lớp mới?
Ví dụ: Số an sinh xã hội có thể là số, chuỗi hoặc đối tượng riêng của nó.
(ví dụ phổ biến khác: Số điện thoại, tên, mã zip, dùng id, trật tự id và khác của id.)
Câu hỏi của tôi là: Khi các loại cơ bản nên được sử dụng, và khi chúng ta nên viết mình một lớp mới?
Tôi thấy rằng khi bạn cần phải thêm hành vi, bạn sẽ muốn tạo ra một lớp (ví dụ, số an sinh xã hội phân tích, xác nhận, định dạng, vv). Nhưng đây có phải là tiêu chí duy nhất không?
Tôi đã gặp các trường hợp có nhiều thứ trong số này được biểu diễn dưới dạng số nguyên và/hoặc chuỗi java. Chúng tôi mất lợi ích của việc kiểm tra loại và tôi thường thấy các lỗi do các tham số được trộn lẫn trong các cuộc gọi đến function(Intever, Integer, Integer, Integer)
.
Chúng ta không thể hưởng lợi từ việc có function(OrderId, ExternalOrderId, UserId, SalesManId)
và không được hưởng lợi từ việc kiểm tra loại, mặc dù không ai trong số này một mình biện minh có lớp riêng của mình?
Rõ ràng, câu trả lời là "nó phụ thuộc". Nhưng, bạn nghĩ gì và bạn thường làm gì?
Đây là câu hỏi về ý tưởng về * Cách * thay thế nguyên thủy bằng các lớp nếu/khi bạn quyết định bạn muốn: http://stackoverflow.com/questions/24981278/design-patterns-for-type-safe-integers – Morad