🕌
複合関数とロジック関数とは
複合関数とは
他の関数を呼び出すのみで自分自身は実際の処理を行わない関数のこと。
下記のコードでは、hoge()
メソッドが複合関数となります。
function hoge(){
a();
b();
c();
}
function a(){
echo 'a';
}
function b(){
echo 'b';
}
function c(){
echo 'c';
}
ロジック関数とは
実際の処理を書く関数
ロジック関数のルール
1つだけで、複数の処理は書かない
複合関数は呼び出さない
ロジック関数を呼び出すことは可能
下記のコードでは、a(), b(), c()
メソッドがロジック関数となります。
function hoge(){
a();
b();
c();
}
function a(){
echo 'a';
}
function b(){
echo 'b';
}
function c(){
echo 'c';
}
複合関数とロジック関数を知って何になるの?
SLAP(Single Level of Abstraction Principle) やcomposed methodパターンで、複合関数とロジック関数という言葉が出てくるかもしれないので知っておいて損はないです。
複合関数とロジック関数をもとに、肥大化した関数を分割することができます。
そして、複合関数とロジック関数にしっかり分けてあげることで、単一責任原則を実現できます。
分割前
function hoge(){
echo 'a';
echo 'b';
echo 'c';
}
分割後
function hoge(){
a();
b();
c();
}
function a(){
echo 'a';
}
function b(){
echo 'b';
}
function c(){
echo 'c';
}
参照
Discussion