Skip to content

Instantly share code, notes, and snippets.

@nouka
Last active October 7, 2021 06:36
Show Gist options
  • Save nouka/13379454997175f0a5df164db6f84631 to your computer and use it in GitHub Desktop.
Save nouka/13379454997175f0a5df164db6f84631 to your computer and use it in GitHub Desktop.
モジュール結合度の具体例
<?php
// メッセージ結合(低)
public function greeting()
{
return '私は山田、26歳です。';
}
// データ結合
public function greeting($name, $age)
{
return '私は' . $name . '、' . $age . '歳です。';
}
// スタンプ結合
public function greeting($user)
{
$name = $user->name;
$age = $user->age;
return '私は' . $name . '、' . $age . '歳です。';
}
// 制御結合
public function greeting($name, $age)
{
if ($age < 0) {
return 'ばぶー。';
} else {
return '私は' . $name . '、' . $age . '歳です。';
}
}
// 外部結合
public function greeting($name)
{
$age = User::$age;
if ($age < 0) {
return 'ばぶー。';
} else {
return '私は' . $name . '、' . $age . '歳です。';
}
}
// 共有結合
public function greeting()
{
$user = new User();
$name = $user->name;
$age = $user->age;
if ($age < 0) {
return 'ばぶー。';
} else {
return '私は' . $name . '、' . $age . '歳です。';
}
}
// 内容結合(高)
public function greeting()
{
$user = new User();
$name = $user->name;
$age = $user->age;
if ($age < 0) {
return 'ばぶー。';
} elseif ($age >= 18) {
$user->status = '成人';
} else {
return '私は' . $name . '、' . $age . '歳です。';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment