以下の例は、オンラインショッピングカートのモジュール内の機能的に凝集したコードの一部を示しています。
このサンプルコードではShoppingCartクラスがオンラインショッピングカートの機能をまとめています。
関連する機能(商品の追加、削除、注文処理、カート内容の表示)が同じクラス内にあり、単一の機能(カート操作)に関連しています。
機能的凝集の特徴として、単一の目的または機能に関連するコードが1つのモジュール内にまとまり、モジュールがシンプルかつ明確になることが挙げられます。
<?php
class ShoppingCart
{
private $items = [];
public function addItem($product, $quantity)
{
// 商品をカートに追加する処理
$this->items[$product] = $quantity;
}
public function removeItem($product)
{
// 商品をカートから削除する処理
unset($this->items[$product]);
}
public function checkout()
{
// カート内の商品を注文処理
// 送料計算、支払い処理、注文確定などの機能がこのメソッド内に関連付けられています。
}
public function showCartContents()
{
// カート内の商品を表示する処理
}
}