エンジニアになるまでに想像していた何十倍もバグやエラーに遭遇します。最近聞いた言葉で一番印象だったのが、「ビジネスロジックエラー」についてまとめてみました。
そもそもビジネスロジックって何?
ビジネスロジック(英:business logic)とは、業務システムの中で、具体的な業務で扱う様々な実体(商品、顧客、在庫など)を表現し、また、それらの関係や処理の方法、業務の流れなどをデータモデルやプログラムコードなどとして実装した部分(システムにおける、システム固有の処理を行う部分)のことを示します。
そのシステムとしての実際のお仕事をする部分が「ビジネスロジック」です。
ビジネスロジックの特徴として、現実の業務や事業におけるビジネスルールやワークフローが反映され、システムごとの固有性が高いことが挙げられます。
「ロジック」の意味は「プログラムにおける処理の内容、手順、方法」のことです。
プレゼンテーション層
UIなど、ユーザから見える部分など
アプリケーション層(ビジネスロジック層、ファンクション層)
そのシステムの処理をする部分など
データ層
ファイルやDBに読み書きするとこなど
「ビジネスロジック」とは、3階層システムでの、アプリケーション層です。プレゼンテーション層とデータ層ではない部分!
そのシステムの処理をする部分!
とも表現できます。
もしも、業務システムがあるとするとします。
業務システムとは、情報を入力されると。何かしらの処理が行われ。その結果がデータベースに登録されるのものです
「データベースに登録する」の部分とは、
1.データベースに入れるデータを準備する(数字を入力したら、その数字を2倍にして、DBに登録する)
2.データベースに接続する
3.1で用意したデータを実際にデータベースに入れる
4.データベースとの接続を切る
「1.データベースに入れるデータを準備する」は業務システムの本質にかかわる部分です。
システム固有の処理を行う部分とも言えます。
それに対して
「2.データベースに接続する」
「3.1で用意したデータを実際にデータベースに入れる」
「4.データベースとの接続を切る」の処理はどうでしょうか。
業務システムの本質には、あまり関係がなく、他のシステムでも行っていることですよね?
ですから、
「1.データベースに入れるデータを準備する(数字を入力したら、その数字を2倍にして、DBに登録する)」
ビジネスロジックは「その数字を2倍にして」のシステムの処理をする部分のようなとこを「ビジネスロジック」と呼びます。