まず依存、主導権という言葉の定義を固めておきましょう。
依存とは、「他のものによりかかり、それによって成り立つこと」、主導権とは、「ある1つの要素が全体への大きな影響力を持つこと」というように理解できると思います。
依存関係逆転の原則とは上位モジュールが下位モジュールに依存しないようにし、下位モジュールが上位モジュールに対して依存するような設計にすることです。
これは言い換えれば、上位モジュールが下位モジュールの動作に影響されないように設計するということと同義です。
上記は非常に一般的な議論として用いることができ、下位モジュールが変更される度に上位モジュールに影響が及ぶような設計の場合、システムのメンテナンスの負荷が非常に高くなります。
例えば25箇所で利用されているような下位モジュールが変更され、その影響が上位モジュールに及ぶとした場合、下位モジュールを修正したいがために、上位の25箇所についても修正を必要とすることになります。
これは上位モジュールが下位モジュールの動作に依存してしまっているためです。上位モジュールの動作が下位モジュールの動作によって成り立ってしまっている(依存している)と言い換えるとわかりやすいと思います。またこのような状態の場合、システム全体への影響力は上位モジュールよりも下位モジュールのほうが高くなっている(主導権が下位モジュールにある)ことも理解できると思います。
上記はMVCモデルの議論等にも頻出する話題です。
また、依存性逆転の原則はもう一つ重要な主張をしており、UIは抽象に依存すべきだと言っています。これはこちらやこちらの議論を見ていただくと分かってくると思うのですが、要するにUIとビジネスロジックは疎結合であるべきだと言っています。
これはUIとビジネスロジックの関係に関わらず一般的な議論としても非常にポピュラーな内容です。
さてここまでが伝わったとして、それでもなお質問文の「一番主導権を握らせたい対象は基本的にビジネスロジック層だと思います。 」という主張が果たして正しい主張だったかという議論になると思います。
システムの主導権はできるだけ下位にあってはいけないというのは一般的なコーディングの原則です。ビジネスロジックを変更したらそれに依存しているUIまで変更しなければならないなどというのは多少センスの悪い設計と言わざるを得ません。
上から1,2,3と3つの表示項目があったとして、上から名前、性別、生年月日を出力するUIがあったとします。それぞれの要素はビジネスロジックで取得しています。
ある日、元号出力だった生年月日を西暦出力に変えてくれとシステム要件が変わったとします。
このとき、修正するのはビジネスロジックだけで済ませたいです。ビジネスロジック側で元号出力しているロジックを西暦出力するように変更すれば、UIはそれに影響されずに勝手に西暦出力してくれるほうが、システムメンテナンスの負荷は低いです。
でもシステムの都合によって、ビジネスロジック側で西暦出力するように変更するとUI側も変更しなければならないとすると、修正対象がビジネスロジックとUIの2つになり、単純に修正の負荷が2倍になります。
しかしそのビジネスロジックを使っているUIが1つとは限りません。例えば30個のUIでそのビジネスロジックを用いていた場合、ビジネスロジック1つ修正したら30個のUI全ての表示が変更されてくれるほうが有り難いわけです。西暦出力にするだけでシステムの修正が30を超えるなんて、もしもっと大きな修正要望が出された場合にはどれだけの手間がかかってしまうのでしょうね。
こうなってしまうのも全て上位モジュール(UI)が下位モジュール(ビジネスロジック)に依存してしまっているためです。両者は疎結合でインターフェース等の抽象的なものを介して関連しており、どちらかの修正がどちらかに影響を与えないように設計すれば解決されると依存性逆転の原則は言っています。
追記依頼にて会話しているうちに、依存、主導権という言葉と実際のシステムの動作に誤解があるのではないかと考えましたので、このような説明をしてみました。
なおこの原則、いつ頃誰がどこで提唱したものなのかよく分かりませんが、下位が上位に依存する、という設計思想は個人的にはちょっと賛同しかねます。
文中にも何度も出現させましたが、上位、下位は疎結合であるべきだと私個人は思っていますし、依存性逆転の原則でも抽象に依存するべきだと主張しているあたり、下位が上位に依存すべきだというよりは、やはり各モジュール間の関係は疎結合であるべきだという内容が主張の本質だと私は理解しました。
下位が上位に依存するべきだ、などと画一的に理解してしまうと少し混乱を招いてしまうかもしれません。