タグ

ブックマーク / qiita.com/toRisouP (4)

  • Zenject入門その1 疎結合とDI Container

    はじめに 最近、Zenjectについて導入を検討する人が増えてきました。今回はそのZenjectがそもそも何のためのライブラリなのかを解説します。 Zenjectとは 「Zenject Dependency Injection IOC」は依存性の注入のためのフレームワークと言われています。 よくある勘違い Zenjectを導入すると、次のようなことができるようになると思っている人が多いですが、それは間違いです。 Zenjectを入れると疎結合になる! Zenjectを入れるとテストが書きやすくなる! 何かよくわからないけど入れるとプログラムが書きやすくなる! 繰り返しますが、上記の認識は間違いです。 Zenjectの正しい説明 Zenjectは疎結合な設計やテストを書きやすくするためのライブラリではありません。 順序が逆で、疎結合やテストのことを考えて設計したときに発生してしまう問題を解決

    Zenject入門その1 疎結合とDI Container
  • UniRxの「Debug」オペレータが便利 - Qiita

    UniRxには「Debug」という便利なオペレータが存在します。 これは「Observable上で起きたすべてのイベントをログに出力する」というオペレータです。 どの値が発行されたか 何の例外が起きたか どのタイミングでSubscribe()されたか どのタイミングで購読が中断されたか などをこのオペレータ1つですべて知ることができます。 定義 定義としてはこうなってます。 // copy from https://github.com/neuecc/UniRx/blob/master/Assets/Plugins/UniRx/Scripts/UnityEngineBridge/Diagnostics/ObservableDebugExtensions.cs public static IObservable<T> Debug<T>(this IObservable<T> source,

    UniRxの「Debug」オペレータが便利 - Qiita
  • グローバルゲームジャムでクラス設計をやった話2017 - Qiita

    お知らせ 2017/11/26開催の「プログラマのためのUnity勉強会」において、 Unity開発で使える設計の話+Zenjectの紹介 というタイトルで講演しました。こちらのスライドを先に見てから記事を参照されることをおすすめします。 はじめに 去年に引き続き、今年もGGJに参加してきました。今回もそのことを書きたいと思います。 今回の内容は以前に投稿したUnity開発で便利だったアセット・サービス紹介 & Unityでのプログラミングテクニックとつながりがあるので、こちらを先に読んでからのほうがわかりやすいかもしれません。 Global Game Jam とは GGJとは全世界同時に行われるゲームジャムのことです。要する、世界規模のゲーム開発ハッカソンです. プログラマ、デザイナ、プランナ、グラフィッカなど様々な役職の人をごちゃまぜに、3~8人程度のチームを組み、48時間でゲーム

    グローバルゲームジャムでクラス設計をやった話2017 - Qiita
  • 【Unity】 UniRxでFPSカウンタを作ってみる - Qiita

    using UnityEngine; using System.Linq; using UniRx; using UniRx.Triggers; public class FPSCounter : MonoBehaviour { [SerializeField] private int bufferSize = 5; //バッファサイズ public ReadOnlyReactiveProperty<float> FpsReactiveProperty; private void Awake() { FpsReactiveProperty = this.UpdateAsObservable() .Select(_ => Time.deltaTime) //Time.deltaTimeに変換 .Buffer(bufferSize, 1) //過去bufferSize分バッファ .Select

    【Unity】 UniRxでFPSカウンタを作ってみる - Qiita
  • 1