タグ

ブックマーク / qiita.com/shoheiyokoyama (3)

  • デザインパターン「Adapter」 - Qiita

    はじめに 投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はSingletonパターンになります。 まとめ一覧はこちら Adapterパターン Adapterとは Adapterとは適合するという意味で、Wrapperパターンと呼ばれることもあります。 「すでに提供されているもの」を「利用できるもの」にするためのデザインパターンで、書ではAC電源とノートパソコンの間のACアダプターを例として説明されています。 利用場面として以下が考えられます 関連性のないクラス通しを既存のクラスを変えずに関連付けする場合 既存のクラスをある新しいインターフェイスを通じて再利用したい場合 既存のクラス・インターフェイスをアプリケーション固有なものに(使いやすく)したい場合 Adapterパターンのクラス図 利用する側はAdapterを生成し、Target[インタフェ

    デザインパターン「Adapter」 - Qiita
  • デザインパターン「Observer」 - Qiita

    はじめに 投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はObserverパターンになります。 まとめ一覧はこちら Observerパターン Observerパターンとは 観察される側(=Subject)と観察する側(=Observer)の2つの役割が存在し、Subjectの状態が変化した際にObserverに通知されるデザインパターンです。そのため、状態変化に応じた処理を記述する時に有効です。 どちらかというと観察よりも通知に重点が置かれており、Observerが能動的に通知を待っているのでPublish-Subscribeパターンと呼ばれることがあります。Publish(=発行)とSubscribe(=購読)という意味でこちらの方がイメージつきやすいかもしれませんね。 MVC(Model / View / Controller)アーキテクチャで

    デザインパターン「Observer」 - Qiita
  • SwiftでConcurrency Programming - Qiita

    はじめに 今回はGCDの内容を中心に並列処理についてまとめています。 マルチコアと並列処理 コンピュータの黎明期にはCPUのクロック速度で決定されていた最大作業量ですが、CPUのコア数を増やすことで格段に改善されました。2006年頃にコアが2つのデュアルコア、2007年以降はコアが4つあるクアッドコアが登場し、近年ではヘキサコア、オクタコアが標準になりつつあります。これらのマルチコアの優位性を活かすために、複数の処理を同時に実行ソフトウェアが必要となります。実際iOS, OSXのような最新マルチタスクOSでは数百ものプログラムを同時に実行できます。 これらの並列処理を実現するためには、単にコアと同数のスレッドを生成すればいいという単純な話ではありません。アプリケーションが独自に使用可能なコア数を計算し、それを効率的に干渉させずに動作させることは非常に困難になります。 Appleのオペレーシ

    SwiftでConcurrency Programming - Qiita
  • 1