インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

Swiftを学び始めたばかりの人のための-知っておくと便利な関数型プログラミング・プロトコル指向プログラミングの心

価格: ¥0
カテゴリ: Kindle版
Amazon.co.jpで確認
「関数指向プログラミング」、「プロトコル指向プログラミング」は、オブジェクト指向技術の新たなコード記述テクニックとしてコード記述手法の幅を広げていただくものであり、特別に難しいメソドロジーがあるわけでもありません。従って、大切なのは、コードを記述する時の意識(マインドセット)ということになります。読みやすい、目的のハッキリしたコードを短く書く、或いは、不必要に参照型オブジェクトを多用することで参照問題に陥らないことをいつも念頭に置く必要があります。この意識を持って、コード記述に当たる時、これらの新しいコード記述テクニックがひとつの解決手段として役立てれば幸いです。

注意:本書内のインデックスでは、以下の章項番号は振られておりません。

1. 関数型プログラミング
1.1 関数型プログラミングは数学の証明問題に似ている
1.2 2つの記述方式、「手続き的記述」と「関数的記述」
1.3 「関数的記述」のためのマインド・セット(心がけ)項目
1.3.1 関数を参照透過で、かつ副作用のない記述をする
1.3.2 変数ではなく、常数を使う
1.3.3 参照型のクラスよりも値型である構造体を積極的に利用
1.3.4 純粋関数を記述する
1.3.5 関数を合成・連結・受け渡して処理
1.4 if-let、if文が深くネストする場合は、対策を検討
1.4.1 事例:関数(オプショナルが戻り値)の連続呼び出しによるif-let文の深いネスト
1.4.2 対策:if-letのネストを関数のネスト呼び出しで対応
1.4.3 コード記述例
1.4.4 事例:細かい条件分岐によるif文のネスト
1.4.5 対策:三項演算子(Ternary)の利用を検討
1.4.6 コード記述例
1.5 配列処理では、関数(map,flatMap,filter..)が利用できないか検討
1.5.1 事例:配列の要素操作をfor-inループで処理しがちになる
1.5.2 対策:型が提供するメソッド、プロパティ、サブスクリプトの利用を検討
1.5.3 コード記述例
1.6 連続処理は、for文以外にも再帰処理、末尾再帰処理の利用を検討
1.6.1 事例:べき乗計算、リスト構造のデータ等、連続単純計算にfor文を使ってしまう
1.6.2 対策:再帰呼び出し処理と末尾再帰呼び出し処理
1.6.3 コード記述例

2. map関数とflatMap関数
2.1 オプショナル変数や配列を安全かつ、シンプルに操作できるmap関数とflatMap関数
2.2 map関数とflatMap関数の定義
2.3 map関数とflatMap関数の呼び出し
2.4 map関数とflatMap関数の関係と動作概要

3. プロトコル指向プログラミング
3.1 オブジェクト指向プログラミングとプロトコル指向プログラミング
3.1.1 オブジェクト指向プログラミングの特徴
3.2 プロトコル機能の基本概要
3.3 プロトコル指向プログラミングを支える注目のプロトコル機能
3.3.1 拡張されたプロトコル機能そのもの機能
3.3.2 プロトコルへのextension機能の適応
3.3.3 プロトコル型+extension機能+構造体型によるプログラミング

4. エクステンション機能について
4.1 エクステンションの定義
4.2 特徴
4.3 実装例

Appendix 1
おわりに