Barrelパターンとは?
Barrel パターンは、複数のモジュールからエクスポートを一つのモジュールに集約するデザインパターンです。
Barrel パターンの利点
- 可読性の向上: 複数のモジュールを一つのファイルにまとめてエクスポートすることで、他のファイルからのインポートがシンプルになる
- インポートの一元管理: インポート文が統一され、シンプルになる
例
ディレクトリ
src/
├── moduleA.ts
├── moduleB.ts
└── index.ts
各ファイル
moduleA.ts
:
export const CONSTANT_A = 'A';
moduleB.ts
:
export interface InterfaceB {
id: number;
name: string;
}
index.ts
:
export * from './moduleA';
export * from './moduleB';
インポート例
import { CONSTANT_A, InterfaceB } from './src';
Barrel パターンを使用しない場合
Barrel パターンを使用しない場合、それぞれのモジュールを個別にインポートする必要があります。
import { CONSTANT_A } from './src/moduleA';
import { InterfaceB } from './src/moduleB';
まとめ
Barrel パターンを使用することで、可読性/保守性が向上するので積極的に活用していきたい
参考