Về thực hành mã hóa Mục tiêu-C tốt, nếu tôi tạo một hàm không có trạng thái, tốt hơn là viết nó làm phương thức tĩnh của một số lớp hoặc C chức năng?Phương thức tĩnh không trạng thái so với hàm C trong Mục tiêu-C
Ví dụ, tôi có một phương pháp truy xuất tập tin đặc biệt để kiểm tra thư mục Caches trước khi tiếp tục với NSBundle chính. Tôi hiện đang có nó như là một phương pháp tĩnh theo một lớp học Utils trống rỗng. Đây có nên là hàm C thay thế không?
Lý do tôi chọn sử dụng phương pháp tĩnh (hiện tại) là a) nó phù hợp với cú pháp Objective-C và b) lớp giúp phân loại phương thức. Tuy nhiên, tôi cảm thấy như tôi đang lừa dối một chút, vì tôi có thể dễ dàng điền vào lớp Util của tôi với các phương pháp tĩnh không trạng thái này và kết thúc với một lớp vỏ "xấu xí", mục đích duy nhất là giữ chúng.
Bạn sử dụng quy ước nào? Là một "tốt hơn" khác, bởi một số số liệu khách quan? Cảm ơn bạn!
Có, tôi cố gắng làm điều đó thường xuyên nhất có thể. Tuy nhiên, không thể nghĩ về một trong những trường hợp này - nó chỉ tìm kiếm gói nếu nó không tìm thấy tệp trong Caches, và nó không phải là một phương thức ví dụ như pathForResource điển hình :, (theo ý kiến của tôi) nó không phải là một lý tưởng phù hợp. – Archagon
Vì vậy, làm cho nó một phương pháp lớp học. Quan điểm của tôi là, không phải là không có khả năng nghĩ về một lớp học hiện tại thích hợp chỉ là một sự thất bại của trí tưởng tượng? Nó có thể là NSBundle, nó có thể là NSFileManager, nó có thể là NSString (vì nó đề cập đến các tên đường dẫn), nó có thể là bất kỳ lớp nào mà bạn cảm thấy trực giác là ở trong ballpark bên phải. – matt
+1 Đối với danh mục. Cá nhân tôi nghĩ rằng mục đích của một lớp học là để được instanciated. Không sử dụng một lớp như một không gian tên. Vì vậy, nếu bạn chỉ có phương pháp tĩnh, bạn nên xem xét một cách tiếp cận khác. – Macmade