[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

制御情報への参照を一つのクラスに封じ込める

定義ファイルの参照は一箇所に封じ込めるべきです。

ケーススタディ: fml8

config.cf の参照は FML::Config オブジェクト経由で行なわれます。 config.cf の詳細は、このクラスの中に閉じ込められ、ハッシュもしくは get()/set() スタイルのアクセスメソッドによる呼び出しによるアクセスのみ を行なうべきです。

プロセスオブジェクトの生成の際に fml/main.cf の中身を持つハッシュがブー トローダから渡されます。このハッシュへ($main_cf)のアクセスも一箇所での み扱うべきですが、今のところ

FML::Process::Kernel
FML::Process::Switch
FML::Process::Utils
の三箇所でハッシュへの生アクセスが行なわれています。 FML::Process:: 以下に限られるという点で比較的マシですが、 さらに整理し一箇所にまとめるべきでしょう。

一方、ステート管理の制御は FML::Process::State だけにあり、このクラス を通じて PCB オブジェクトへのアクセスをしています。

PCB へのアクセスは全て PCB オブジェクトを通じて行なわれているのであち こちで参照しても良い気がしますが、PCB は config オブジェクトほど単純で はなく引数が多くなっています。そのため、PCB へのアクセスをもっと集中さ せるべきと考えます。たとえば、せめて FML::Process 以下と FML::PCB だけ からのアクセスを許すようにするといった具合です。現状、もっと多くの場所 でPCB オブジェクトへのアクセスが行なわれています。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >