C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Adapter パターンについて


(過去ログ 124 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■73828 / inTopicNo.1)  Adapter パターンについて
  
□投稿者/ Ainax (1回)-(2014/11/07(Fri) 09:15:35)

分類:[.NET 全般] 

[win7, vs2013exp, c#]

はじめまして。

デザインパターンの Adapter についてわからないことがあり、投稿させて頂きました。

分からない事とは、 Adapter の継承による適用のメリットです。

継承と委譲を比べた場合、継承の場合コード記述量が少なくて済むようですが、
逆を言えばその程度しかメリットが無いように思えます。

それよりも委譲による適用のメリットが大きく思え、継承の使いどころがわかりません。

なにか、継承ならではの使いどころがあるのでしょうか?
引用返信 編集キー/
■73854 / inTopicNo.2)  Re[1]: Adapter パターンについて
□投稿者/ とっちゃん (272回)-(2014/11/10(Mon) 13:41:29)
とっちゃん さんの Web サイト
No73828 (Ainax さん) に返信
> デザインパターンの Adapter についてわからないことがあり、投稿させて頂きました。
>
> 分からない事とは、 Adapter の継承による適用のメリットです。
>
> 継承と委譲を比べた場合、継承の場合コード記述量が少なくて済むようですが、
> 逆を言えばその程度しかメリットが無いように思えます。
>
> それよりも委譲による適用のメリットが大きく思え、継承の使いどころがわかりません。
>
> なにか、継承ならではの使いどころがあるのでしょうか?

Adapter パターンに限った話ではありません。

あるパターンを使って実装を考えたときにどういう手法を用いるかは
その言語や開発環境など取り巻く状況などにも左右されるため、
これが正解であるというものはありません。

実装手段として、継承を用いる方法と委譲を用いる方法があるとした場合
どちらを使うかは、それぞれのメリットだけではなく、デメリットや
その実装を利用するあるいはメンテナンスする将来の誰か(もちろん自分を含む)が
よりわかりやすい(そのソースコードだけを見てすぐに理解しやすいと思えるもの)のはどちらか?
を考えればいいと思います。

それが継承なら、継承を使うことがそのプログラムにとって最適なのだと思いますし
委譲のほうがよいなら、委譲を使って実装することが最適なのだと思います。

引用返信 編集キー/
■73906 / inTopicNo.3)  Re[2]: Adapter パターンについて
□投稿者/ Ainax (2回)-(2014/11/13(Thu) 21:52:00)
No73854 (とっちゃん さん) に返信
> ■No73828 (Ainax さん) に返信

お返事が遅れてしまい誠に申し訳ありません。

ご回答については当日読ませて頂いていたのですが、
一度お返事を書き投稿に失敗してしまった後に、ずるずると書きそびれてしまいました。

ご回答を頂いたあともデザインパターンについて勉強し続きておりましたが、
とっちゃんさんに頂いたソースコードを見て読みやすいという基準にて
考えてみたところ、なるほどと思えるところがいくつもあり、
読んでいる本にも読みやすさを重視したコードについて言及しているところと
重なる部分もあり、すごく納得できました。

> それが継承なら、継承を使うことがそのプログラムにとって最適なのだと思いますし
> 委譲のほうがよいなら、委譲を使って実装することが最適なのだと思います。

頂いた回答を念頭にこれからも読みやすさを重視したコードについて勉強していきたいと思います。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -