[戻る ]

Java読書会BOF「The Java Module System」を読む会 第8回

開催概要
日時 2020年6月20日 10:00 - 17:00
場所 Microsoft Teams Java読書会BOF
出席者(敬称略) 吉本、岩室、高橋(智)、高橋(徹)
  • 本日は、p.228 10.3.1から読書開始です。

10.3.1 Types that can be services

10.3.2 Using factories as services

10.3.3 Isolating consumers from global state

10.3.4 Organizing services, consumers, and providers into modules

10.3.5 Using services to break cyclic dependencies

10.3.6 Declaring services across different Java versions

  • 宿題 ServiceLoaderとFactoryを自分でお試ししてみよう

10.4 Accessing services with the ServiceLoader API

10.4.1 Loading and accessing services

10.4.2 Idiosyncrasies of loading services

  • p.242 下11行目 誤植 "Service-loader" → "Service loader"

11.1 Implied readability: Passing on dependencies

11.1.1 Exposing a module’s dependencies

  • あるモジュール(monitor.observer.alfa)を使うのに、そのモジュールが依存している別なモジュール(monitor.observer)もrequires指定しなければならないのは面倒、という文脈。

11.1.2 The transitive modifier: Implying readability on a dependency

  • requires transitive 指定が解。あるモジュール(monitor.observer.alfa)のモジュール宣言に requires transitive monitor.observer; を記述すれば、そのモジュールを使うのに、monitor.observerをrequiresしなくても暗黙的にrequiresされる。

11.1.3 When to use implied readability

11.1.4 When to rely on implied readability

  • requires transitiveされているとrequiresしなくても使えてしまうが、意図に応じてrequiresを書くとよい。

11.1.5 Refactoring modules with implied readability

  • aggregator module
    • 他のモジュール群を require transitive する定義だけ持ちコードを含まないモジュール

11.1.6 Refactoring modules by merging them

  • module にも @Deprecated アノテーションを付与できる

11.2 Optional dependencies

11.2.1 The conundrum of reliable configuration

11.2.2 The static modifier: Marking dependencies as optional

  • requires staticは、コンパイル時に必須だが実行時には失くてもエラーにはならない依存。

11.2.3 Module resolution of optional dependencies

  • 実行時にrequires staticで依存するモジュールを利用可能にするには--add-modulesで明示的に取り込む必要あり

11.2.4 Coding against optional dependencies

11.3 Qualified exports: Limiting accessibility to specific modules

11.3.1 Exposing internal APIs

11.3.2 Exporting packages to modules

11.3.3 When to use qualified exports

11.3.4 Exporting packages on the command line

  • p.268 上5行目 誤植 "${accessing-modules}>" → "${accessing-modules}"

本日は、p.269 まで読みました。 次回は、12章 からです。

[戻る ]