2012-01-31 15 views
8

Vì vậy, tôi mới phát triển iOS và đang làm tất cả những gì tôi có thể để tìm hiểu cách "tốt nhất" để làm việc. (Có, tôi biết đó là một thuật ngữ tương đối)Mẫu thiết kế iOS tương đương khi đến từ thế giới C#/Java?

Tôi đến từ một thế giới của C# và Java, nơi chúng tôi làm những việc như tiêm phụ thuộc thông qua một thùng chứa IOC, sử dụng mẫu kho lưu trữ để truy cập dữ liệu trừu tượng, sử dụng dịch vụ miền và đối tượng để đóng gói dữ liệu và hành vi kinh doanh, v.v .. Đây là những thứ tôi chưa thấy trong quá trình phát triển iOS. (Có thể tôi đang tìm sai địa điểm)

Tôi nhận ra rằng Objective-C là một siêu của C và ngôn ngữ động/lỏng lẻo, có thể sẽ thay đổi trò chơi một chút khi nói đến thực hành thiết kế tốt . Bất cứ ai có thể chỉ cho tôi hướng dẫn của một số cuốn sách/blog/khác sẽ giúp tôi thực hiện bước nhảy vọt tinh thần này từ môi trường được quản lý mạnh mẽ đến thế giới mới này trong khi vẫn giữ thiết kế của tôi dẻo dai và tuân theo các nguyên tắc SOLID?

EDIT - Tôi muốn rõ ràng ở đây. Tôi không hỏi làm thế nào để tìm hiểu các khuôn khổ Cocoa và ins and outs của Objective-C như một ngôn ngữ. Tôi đã tìm thấy rất nhiều tài nguyên về điều đó. Tôi đang tìm cách để đưa điều này đến cấp độ tiếp theo, bắt đầu làm TDD và đảm bảo rằng các dự án tôi đang xây dựng sẽ dễ dàng mở rộng và duy trì.

+1

Một số người trong chúng tôi đã phát triển iOS để tránh xa tất cả những điều vô nghĩa của doanh nghiệp đó. :) –

+2

@robmayoff Những loại điều này có thể là quá liều cho chắc chắn nhưng "vô nghĩa" là một chút khắc nghiệt. Chúng tôi chắc chắn không muốn quay trở lại những ngày của SQL nội tuyến ở khắp mọi nơi, vì vậy có một số sự cân bằng chúng tôi đang sau. Để phù hợp với cách tiếp cận cân bằng, bạn sẽ làm gì để cải thiện thiết kế của mình trong iOS? –

+0

Tôi nghĩ như Adam nói, bạn nên bắt đầu bằng cách xem API của Apple. API của họ đơn giản, tối thiểu và rất nhất quán. Ví dụ, để đại diện cho các bộ sưu tập Cocoa có ba lớp - 'NSArray',' NSSet' và 'NSDictionary'. So sánh điều đó với những gì Java và một số ngôn ngữ khác cung cấp như một phần của libs chuẩn. Ngoài ra kiểm tra các cuộc đàm phán WWDC có tiêu đề "Viết dễ dàng để thay đổi mã", và "Thiết kế API cho Cocoa và Cocoa Touch" hình thức năm 2011, và 2010 tương ứng. – Anurag

Trả lời

4

Cách tốt nhất để tìm hiểu cách "tốt nhất" để làm việc là thu được sự hiểu biết sâu sắc nhất có thể về cách các API hiện tại của Apple được thiết kế. Xét cho cùng, bất kể cách tốt nhất lý thuyết để làm điều gì đó là, cuối cùng mã của bạn sẽ phải làm việc với các API này, do đó bạn có thể làm theo các mẫu tương tự trong hầu hết các trường hợp.

Theo như sách đi, có một mẫu được gọi là mẫu thiết kế ca cao bao gồm chủ đề chính xác này và, dựa trên đánh giá của Amazon, dường như được đón nhận tốt.

+0

Đề xuất tốt. – JoePasq

+0

Tôi không chắc chắn rằng điều này sẽ điền vào tất cả những khoảng trống cho tôi nhưng nó dường như là một cuốn sách tuyệt vời mà sẽ làm cho tôi khá xa xuống con đường đó. Cảm ơn. –

1

Tôi khuyên bạn nên theo dõi khóa học cs193p và đọc Learning Objective-C từ trang web của Apple.

Tôi nghĩ rằng hai liên kết này sẽ chỉ cho bạn hướng đi đúng đắn về cách mọi thứ hoạt động trên iOS.

1

Có rất nhiều mẫu thiết kế cụ thể cho việc phát triển Objective-C và Cocoa, bạn sẽ tìm thấy một bản tóm tắt rất hay trong this book. Nó bao gồm các mẫu dựng sẵn ngôn ngữ cũng như một số mẫu phức tạp và cao cấp hơn (kiến trúc nếu bạn thích).

Nói chung, các nguyên tắc SOLID được áp dụng và không ít liên quan đến ngôn ngữ động hơn khi chúng được nhập mạnh mẽ. Một điều nữa là trong Objective-C, bạn có tùy chọn sử dụng các kiểu mạnh trong thiết kế của mình để áp dụng các mẫu OOP "cổ điển", mặc dù có thể có một số cấu trúc khung/ngôn ngữ thanh lịch hơn và phù hợp với công việc.

Các vấn đề liên quan