3

次のプロジェクトでは、cocoa touch スタティック ライブラリを使用する予定です。私の目標は、モデルをメイン プロジェクトから完全に分離することです。(サーバー間のすべてのデータ通信を行い、メインプロジェクトにデータを提供します)。iPhoneバージョンがあれば、将来ライブラリを再利用できるようにします。

フレームワークを ios 標準フレームワークのように動作させて、フレームワークを使用している他の人がフレームワークで遊んだり、悪用したりできないようにしたいと考えています。特に、フレームワークによって提供されたデータをオーバーライドして、あらゆる種類のデータ操作を行うことはできません (カプセル化の保護)。

この種の静的ライブラリを作成するためのベスト プラクティスを知りたいですか?

4

2 に答える 2

1

言語の観点から、パブリック メソッド/メンバーとプライベートとは何かを慎重に検討する必要があります。

プライベートなものはすべて、.m ファイル内のインターフェイス宣言に移動します。

@interface MyClass()
# Variables and Messages declared here are private.
@end

次に、すべてのパブリック メッセージとプロパティを使用してユーザーに公開される単一のヘッダー ファイルを作成します。

これを行うときは、ユーザーの期待を文書化することに特に注意してください。機能/変数を期待し、ドキュメント/ヘッダーでそれを取得する方法を確認できないことほど、カプセル化を破ることはありません。

于 2013-10-06T22:28:30.073 に答える
0

以下のリンクで述べられていることを参照してください。これは、より良いライブラリを設計するのに役立ちました。

コンポーネントベースの開発プロセス

契約による設計を使用したソフトウェア コンポーネントの仕様

于 2013-09-28T10:33:57.143 に答える