トップページ⇒tech
1001コメント292KB

【GOF】デザインパターン

レス数が1000を超えています。これ以上書き込みはできません。
0001考えようNGNG
なるほどなーと思ったがあんまり使わないぞ

factory method
abstract factory
builder
prototype
singleton
adapter
bridge
composite
decorator
facade
flyweight
proxy
chain of responsibility
command
interpreter
iterator
mediator
memento
observer
state
strategy
template method
visitor
0002デフォルトの名無しさんNGNG
10げっと
0003デフォルトの名無しさんNGNG
ひとつひとつ具体的なクラスを交えて紹介するサイトとかある?
0004デフォルトの名無しさんNGNG
Singletonは使う。全部Singletonになってしまう。
0005デフォルトの名無しさんNGNG
Design pattern (computer science) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
0006デフォルトの名無しさんNGNG
使わないんじゃなくて使えないんだろ。
設計からしっかりやってればちゃんと使いどころが見えてくる。
あんまり小さいシステムじゃ使えないけど。
0007デフォルトの名無しさんNGNG
自己満足的に使ってる奴が多すぎるな。
本人は使えてる気になっているようだが実際には・・・
まあ、設計をしっかりやってればちゃんと使いどころが見えてくる、とか
あんまり小さいシステムじゃ使えないけど、とか言っている奴には
使えないだろうけどね。
0008デフォルトの名無しさんNGNG
システム規模の大きい小さい関係無いんでわ。
小さいシステムって、3〜400行のスクリプトとかか?


0009デフォルトの名無しさんNGNG
使いどころが見えてくるんじゃなくて、使うのが当然の仕組みが抽出
できるだけちゃうの。
0010デフォルトの名無しさんNGNG
http://p44.aaacafe.ne.jp/%7Efeel/
0011デフォルトの名無しさんNGNG
>>9
なんだとこの野郎!
0012デフォルトの名無しさんNGNG
デザパタのスレってすでに無かったか
0013デフォルトの名無しさんNGNG
本当に再利用されているんですかね、現場で。
0014デフォルトの名無しさんNGNG
必要に応じて使うってだけだな。
Java で GUI やると使った方が楽だし。
0015デフォルトの名無しさんNGNG
>>1 GoFだけか。GoFだけなら頻繁に使われているほうだと思うが。
GoF以外のデザインパターンを知っている香具師はすくないからあまり使われてなさそうだが。
0016651NGNG
>>8
小さいながらもひとつのシステムを3〜400行のスクリプトに収められるなら
そこにもなんらかのパターンがありそうな気がします。
0017デフォルトの名無しさんNGNG
FactoryMethod
AbstractFactory

今日覚えたパターンはこの二つ。
AbstractFactoryはCだと何も考えなくてもそうなるね。
0018デフォルトの名無しさんNGNG
>AbstractFactoryはCだと何も考えなくてもそうなるね。
それはあなたがそうだというだけで「何も考えな」いヤツをあなどってはいけない
0019デフォルトの名無しさんNGNG
君たちはまだ、本当に何も考えないやつの恐ろしさを知らない。
何も考えてないやつじゃないよ。それはまだ序の口。
0020デフォルトの名無しさんNGNG
シングル�dだけで十分だよ。
0021デフォルトの名無しさんNGNG
ここは デザインパターンの単純そうな質問 の次スレ?
とりあえずこんなのはっときますね。

[ja]
Java言語で学ぶデザインパターン入門
http://www.hyuki.com/dp/
Javaプログラマのためのデザインパターン入門
http://objectclub.esm.co.jp/DPforJavaProgrammers/DPforJavaProgrammers.html
デザインパターンの骸骨たち
http://www11.u-page.so-net.ne.jp/tk9/ys_oota/mdp/
デザインパターン with JAVA
http://www.ff.iij4u.or.jp/~ahirusan/Java/patterns/patternIndex.html
Javaなページ
http://home.catv.ne.jp/dd/chiba/ken/Java/JavaMain.html
デザインパターン入門 (ちとわかりずらい…)
http://www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html

[en]
Patterns Home Page
http://hillside.net/patterns/

[2ch]
デザインパターン
http://piza.2ch.net/tech/kako/976/976074878.html
「デザインパターンって、○○のようなもんだよ」
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994690114

mogura (2chLinuxer氏に敬礼!)
http://2ch.dyn.to/
0022デフォルトの名無しさんNGNG
実際シングル�dってなんかメリットあんの?
0023デフォルトの名無しさんNGNG
インスタンスを3つしか生成できないようにするのは
トリトンでOK?
0024デフォルトの名無しさんNGNG
>>23
それセマフォでは?
0025デフォルトの名無しさんNGNG
生成できるインスタンスの数を制限するのがシングルトン。
0026デフォルトの名無しさんNGNG
1つじゃなくてもシングルトンなのね
0027デフォルトの名無しさんNGNG
違う。
「たった1つのインスタンス」がシングルトン。(結城著の5章のタイトル)
0028デフォルトの名無しさんNGNG
>>24
そこはつっこむんじゃなくて、笑ってやるところだろ。
0029デフォルトの名無しさんNGNG
>>23
プリゲラッチョ
0030デフォルトの名無しさんNGNG
たとえばテキストエディタクラスと、ヘキサエディタクラスがあるとして、
ファイルによってどちらを生成するかを決定する場合は
AbstractFactory使えばいいんでしょうか?
0031デフォルトの名無しさんNGNG
どこからでも簡単に参照が取ってこれるという「功罪表裏一体」のグローバル変数の
ラクチンさをシングルトンのメリットだと思っている馬鹿いってよし。
0032デフォルトの名無しさんNGNG
何でもかんでもシングルトンにしたらオブジェクト指向の意味が
なくなるような気がする
そんなんなら全部ただのモジュールにしちゃった方が
ごちゃごちゃしない分いいと思う
0033デフォルトの名無しさんNGNG
独身豚
0034デフォルトの名無しさんNGNG
>>33
まあ、言いたいことは分からないでもないが。
0035デフォルトの名無しさんNGNG
元米大統領
0036デフォルトの名無しさんNGNG
じゃあ
「どこからでも簡単に参照が取ってこれる」インスタンスが欲しい場合はどうすればいいの?
0037デフォルトの名無しさんNGNG
グローバル変数
0038デフォルトの名無しさんNGNG
>>30
いいえ。
テキストを生成するときは、テキストエディタクラスを使い、
ヘキサを生成するときは、ヘキサエディタクラスを使うようなコーディングを
しなければなりません。

例
if target == text
 texteditorclass...
elseif target == hekisa
 hekisaeditorclass...
0039デフォルトの名無しさんNGNG
>>38
ダセぇ。ポリモフィズム使え。
0040デフォルトの名無しさんNGNG
>>39
尿意
0041デフォルトの名無しさんNGNG
納期に間に合わせるなら38が正解
0042デフォルトの名無しさんNGNG
>>41
その程度の変更でスケジュールにインパクトが加わるようなカスしかいないのか、
おまえのところは。
0043SENGNG
>>42
いや、俺が仕様聞き漏らしてただけだけど、まだ間に合うから作って。
0044デフォルトの名無しさんNGNG
C++でPrototypeパターン適用しようとしたら、どうやってクローンを作ればいいの?
0045デフォルトの名無しさんNGNG
>>44
コピーコンストラクタでディープコピーを作るように実装しといて、
明示的に呼ぶとか?
0046デフォルトの名無しさんNGNG
>>39-40
ポリモルフィズムを使った解答例がぜひ知りたい
生成されたエディタクラスを使う側はポリモルフィズムでいけるだろうけど、
エディタクラスを生成する側は具象クラスを知らなければいけなくない?
0047デフォルトの名無しさんNGNG
>>46
前どっかでそのこと聞いたら、ハッシュを使うとかww
得意げな顔してポリモルフィズムwww>>39-40
0048デフォルトの名無しさんNGNG
>>46
いや、そんなことはない。

class Editor;
typedef Editor* (EditorCreator)();

class Factory {
public:
  void register(EditorCreator, int id);
  Editor* create(int id);
};

こんな感じのファクトリクラス作って、実際のエディタを作るクラスに対して、
各々ファクトリに EditorCreator 型の生成関数を登録させる。
0049デフォルトの名無しさんNGNG
>>48
なるほど。下のような感じですか?

エディタのクリエイタ、ファクトリを作る分
三度手間になっちゃうのね。C++じゃちょっとやりたくないかなぁ。

get_targetid(target)
{
if (target == text) return id_text;
else return id_binary;
}

Factory f;
f.register(texteditor, id_text);
f.register(hexeditor, id_binary);

get_view_object(target)
{
return f.create(get_targetid(target));
}
0050デフォルトの名無しさんNGNG
>>49
> エディタのクリエイタ、ファクトリを作る分
> 三度手間になっちゃうのね。
そんなん C プリプロセッサでマクロ書けば 1, 2 行で済むよ。登録処理も
グローバル変数のコンストラクタとか、DLL に逃がすなら DLL のロード
処理でやらせれば良い。
0051デフォルトの名無しさんNGNG
そんなアナタにIoCコンテナ。
0052デフォルトの名無しさんNGNG
>>51
聞いた事無いっす
0053デフォルトの名無しさんNGNG
ぐぐればすぐ見つかるけど一応。

Inversion of Control コンテナと Dependency Injection パターン
http://www.kakutani.com/trans/fowler/injection.html
Inversion of Control
http://wiki.bmedianode.com/Spring/?Inversion+of+Control
0054デフォルトの名無しさんNGNG
保守
0055デフォルトの名無しさんNGNG
意外とまともなアドバイスがあるスレだな
そこに驚いたw
0056デフォルトの名無しさんNGNG
デザインパターンは、Java以外の言語では、どの程度認められてるの?
それともJavaでしか再現できないものがあるとか?
0057デフォルトの名無しさんNGNG
>>56
Java っつーかリフレクションが充実してないとやりにくいパターンは存在する。
0058デフォルトの名無しさんNGNG
>>57
なるほど。道理でデザパタ=Javaなわけだ。
プログラマ全てが共通で覚えるだけの価値はないのね。
0059デフォルトの名無しさんNGNG
>>56
Ruby の例で悪いけど、singleton や observer は標準ライブラリとして使える。
動的型言語だとデザパタと同等の効果をごり押しで実現できちゃったりするので、
Java くらいの言語の方が適用しやすいというのは言えるかもね。
0060デフォルトの名無しさんNGNG
>>58
プログラマすべてが知ってる必要はないかもしれんが、オブジェクト指向の言語やるなら知ってたほうがいいと思うけどね。
つーかデザインパターンの本家はSmalltalkだったと思うが。
006157NGNG
>>58
> なるほど。道理でデザパタ=Javaなわけだ。
そこまでは言ってないが。GoF のデザパタ本も、取り上げてる言語は
smalltalk と C++ だし。
0062デフォルトの名無しさんNGNG
しかしC++使いでデザパタは聞かんな
boostとかlokiとかライブラリの話は良く出るのに
0063デフォルトの名無しさんNGNG
C++でもObserver や、Singleton、Adapter、・・・結構つかうぞ。StateやStrategyがなかったら死んじゃう。
Visitor とかは、STLつかっちゃうから、デザパタとはずいぶん違う形になっちゃうけど。
0064デフォルトの名無しさんNGNG
パターン名知らなくてもやってるってことはあるからな
アンチデザパタの意見がそれだし
0065デフォルトの名無しさんNGNG
Cで、関数ポインタを用いた多態を利用していたら、ソリャ多分Strategyとか
Stateだよ。いままでそう呼んでいなかっただけっさー。
0066デフォルトの名無しさんNGNG
C++使いの漏れが使うもの
AbstractFactory
@Singleton
Decorator
@Composite
@Facade     
Command
@Observer
State
@TemplateMethod
Visitor

@付きは必須
0067デフォルトの名無しさんNGNG
>>62
デザパタは使えて当たり前なんで、Java厨と違っていちいち騒がない。
とか。
まあsmart pointerを伴わないと使いにくいパターンはある。
temlateを駆使したやつはC++独自のデザインパターンとも言える。
(パターンは言語非依存のものしか認めんとか狂ったこと言わない限りは。)

>>66
Adapter・Flyweight・Mediator・MementoもC++で無理なく使えるね。
006867NGNG
Bridgeもか
0069デフォルトの名無しさんNGNG
>Observer や、Singleton、Adapter

知らなくても使ってしまうう技法だけど、
それをデザインパターンを使っている例に分類するのはどうかと。

>StateやStrategy

GoF式のStateって使う、、、かなぁ?
0070デフォルトの名無しさんNGNG
>69
作るアプリやその人の好みで使うパターンが異なるからそんなもんだ。
FlyWeight使えそうだけど自分で使う場面に合ったことないし
0071tittiNGNG
誰か Abstract Factoryパターンの適用範囲教えてくださいませ。

0072デフォルトの名無しさんNGNG
機種依存のあるコードをそうでない様にラップするだけじゃないかな
0073デフォルトの名無しさんNGNG
>>69
パターンとして知らなくても問題とフォースから定型的に解放を導き出しているのなら
使っているといえる。
そうではなくて毎回再発明していてたまたま同じ解放になっているだけなら
使っているとはいえない。

Stateパターンはオブジェクトの振る舞いが動的に変わるときによく使う。
0074デフォルトの名無しさんNGNG
×解放
○解法
0075デフォルトの名無しさんNGNG
>>73
Stateはジェネレータ使ったほうが保守性も可読性もよくなるっしょ
0076デフォルトの名無しさんNGNG
>>75
コードジェネレータか。それはそれで融通が利きにくくなったりして微妙な
場合もあるが、有効な場合も多いやね。

俺は Quantum Framework (http://www.quantum-leaps.com/) の階層型
状態遷機械の実装移部分だけ切り出して template ベースで書き直した
ものを使ってる。

コードジェネレータ使おうがフレームワーク使おうがどっちでも良いけど、
階層型の状態遷移と入退場動作なんかをサポートしてないとキツい。
そのあたり GoF の State パターンは何も示してないので、そのまま
使ってる人は少ないと思うよ。
0077デフォルトの名無しさんNGNG
大半のパターンは、単純にクラスとクラスの関係ではなく
かならずインターフェイスとインターフェイスの関係をパターンとして作って
そのインターフェイスをインプリメントしたクラスを使っているか、

仮想クラス同士の関係を作ってからそれを継承した具象したクラスを使っている。

使いたいクラス同士を直接関係させてパターンに当てはめれば早いのにと思うのです。
0078デフォルトの名無しさんNGNG
>>77
> 使いたいクラス同士を直接関係させてパターンに当てはめれば早いのにと思うのです。
インターフェースと実装を分離することによるメリットが実感できない?
これはわりと OOP のキモなんだけど、ある程度の規模もしくは寿命を
持つプログラムじゃないと、手間ばっかりかかるように見えちゃうかも
知れず。
0079デフォルトの名無しさんNGNG
ある程度規模が大きくならないとメリットが見えてこないことはあるだろう。
0080デフォルトの名無しさんNGNG
なんらかのスーパークラスかインターフェイスを1つも持たない具象クラスを作成してはいけない。
それを許した時点でプロジェクトは破綻する。
0081デフォルトの名無しさんNGNG
>>80
そういうときは力技でどうにかするみたいですよ。
0082デフォルトの名無しさんNGNG
デザパタ使いたいがためにデザインするのはアレです案。
0083名無しさん@そうだ選挙に行こうNGNG
>>69
GoFのStateは実装方法がダサいんでまったく使わないな。
いや、いつもまず試すんだけど、やっぱ止めってなる。
0084名無しさん@そうだ選挙に行こうNGNG
>>83
要約すると、

私は賢い。

でいいんですか?
0085名無しさん@そうだ選挙に行こうNGNG
思うんだけど、デザインパターンって何でもかんでもGoFのデザインパターンで
解決ってのを前提にしすぎてない?
色々、考えた結果、GoFのデザインパターンは使わない泥臭い実装っていうのも
ありだと思うのよ。全て教科書的な問題ばかりじゃないから。
0086デフォルトの名無しさんNGNG
>>85
と、GoF本の序章に書いてありますね。
0087デフォルトの名無しさんNGNG
>>85
そういう考えなのはテザパタ初心者かアンチデザパタのいずれか。
初心者なら習作としてとりあえずそういう態度で臨むのも意義がある。
アンチデザパタは視野が狭いだけ。
0088デフォルトの名無しさんNGNG
>>87
取りあえずお前はGoFに謝っとけ。
0089デフォルトの名無しさんNGNG
>>87
儲?
009087NGNG
>>88
あ〜、「そういう」ってのは
>思うんだけど、デザインパターンって何でもかんでもGoFのデザインパターンで
>解決ってのを前提にしすぎてない?
この部分な。
0091デフォルトの名無しさんNGNG
>>90
今度からは補足しなくても誤解のない文章を書きましょう。
あなたの仕様書でプロジェクトはてんやわんやです。
0092デフォルトの名無しさんNGNG
いまさらデザインパターンかよ。
時代錯誤も甚だしい。
VB6なみに消えかかってるよ。
0093デフォルトの名無しさんNGNG
>>90
似て非なる実装をしたら、それは亜種であって別の名前がつくべきだろ?
たとえばpush型Observer/Multicastの差は、後者が別の名前を付けて、
統一的な実装方法を示しているあたりだけじゃないか。

頑なにGoFに拘るのは馬鹿かもしれないけど、
最適の解が他にあったとしても、多少の無理や妥協で
リファレンス(GoF)の実装で実現できるならそうするべき。

Stateの亜種をStateといっても、正確に他人との意思の疎通が図れるとは限らないからな。
0094デフォルトの名無しさんNGNG
>>93
GoF が提示したかったのは「パターン」であって「実装」ではないということは、
読めば分かるはずだが……。
0095デフォルトの名無しさんNGNG
>>94
「実装」じゃなくて「実装方法」な、それくらいは読み取ってくれ。
0096デフォルトの名無しさんNGNG
>>95
今度からは補足しなくても誤解のない文章を書きましょう。
あなたの仕様書でプロジェクトはてんやわんやです。
0097デフォルトの名無しさんNGNG
>>91
補足しなくて済む仕様書なんて今まで見たことねぇや
そこをきっちり読み取れるか読み取れんかが
土方プログラマと使えるプログラマの差だろ?
0098デフォルトの名無しさんNGNG
(´д`)ゴフッ ゴフッ
0099デフォルトの名無しさんNGNG
>>96
開き直るのはアレかもしれないが、それはただの揚げ足鳥とゆーものだろう。
ましてや仕様ではなく、掲示板上の駄文のひとつでしかないんだしさ。
0100デフォルトの名無しさんNGNG
みんGOF
0101デフォルトの名無しさんNGNG
デザパタをマニュアル扱いする奴は馬鹿...
0102デフォルトの名無しさんNGNG
>>101
その通り。
0103デフォルトの名無しさんNGNG
馬鹿ばっかだな。
0104デフォルトの名無しさんNGNG
そういえば,つい先日(っていっても1,2ヶ月前かな?)に
dat落ちしたデザパタスレがあったはず・・・
0105デフォルトの名無しさんNGNG
>>104
デザインパターンの単純そうな質問
ttp://pc5.2ch.net/test/read.cgi/tech/994836140/
0106デフォルトの名無しさんNGNG
>>105
あ,それそれ.ありがとう.
0107デフォルトの名無しさんNGNG
>>93
>頑なにGoFに拘るのは馬鹿かもしれないけど、
>最適の解が他にあったとしても、多少の無理や妥協で
>リファレンス(GoF)の実装で実現できるならそうするべき。

自分の仕事の目的が最適の解を実装する事なら、最適の解をえらぶべき。

趣味ならいいけどね。
0108デフォルトの名無しさんNGNG
GoFより beck のベスト・プラクティス・パターンの方が役立つと思うのはオレだけだろうか・・・
あと、リファクタリングとテストパターン。

>>38なんか>>48みたいに実装する利点がこの時点ではあまり無いから>>38のままで良いし
もっと動的に数多く Editor が必要になる時にリファクタリングを掛けて>>48にするのが実践的でしょ

リファクタリングの方向性としてGoFのパターンを使うのは良いけど、最初から型として使っちゃうのは
ウォーターフォール開発とたいして変わらん気がするなぁ
必要な時に必要な実装をする
これが一番無駄がないと思うんだが
0109デフォルトの名無しさんNGNG
>>108
あとTDD本も入れといて
ノシ
0110デフォルトの名無しさんNGNG
>93
いまみた。阿呆ですか?
何でわざわざマニュアルに当てはめないといけないんだ?
0111デフォルトの名無しさんNGNG
ところでGoFってなんて読むの
俺ずっとゴフって読んでるんだけど
0112デフォルトの名無しさんNGNG
>>110
どこがアホなんですか?

>何で
最後の一行に書いてありますが。

デザインパターンは解決手法というよりも、
統一的な認識を得るために各手法へ名前を付けたことが重要なのであって、
それを達成するには多くの人が見慣れた形のコードを書くべきだと思いますが。

そうでなければ、Multicastパターンに新たに名前が付けられた意味がありません。
0113デフォルトの名無しさんNGNG
>112
>デザインパターンは解決手法というよりも、
>統一的な認識を得るために各手法へ名前を付けたことが重要なのであって、

ここの前提が自分とは違っています。
あくまでもデザパタは考え方の一つをあらわしたものでありこれがすべてではないと考えてます。
話をするときはOberverみたいにとかはなしますけど、Observerでなければならないという使い方はしていません。
設計や実装においてもある程度の共通認識ができればいいのであって、原理主義的になることはないと思います。
うちでつかってるObserver(みたいなもの)はテンプレートを多用してファンクターを取り入れ型安全性と条件分岐を排除したものとしています。
またイベント配布などの優先順位なども考慮したある意味余計な機能もつけてます。
けれども本質はSubjectとObserver間の依存性を排除したイベント配信という意味では問題ないと思います。

Multicastパターンをあえて別にしていることはあまり重要には思えません。
うちの知り合いの中では8割が区分けに意味ないと話してます。
0114デフォルトの名無しさんNGNG
>113
型安全性と条件分岐を排除したものとしています。
↓
型安全性を取り入れ条件分岐を排除したものとしています。

orz...
0115デフォルトの名無しさんNGNG
>>108
「もっと動的に数多く Editor が必要になる時」って具体的に幾つをイメージしてる?
ケースバイケースだろうが、リファクタリング的には「数多く」の基準は2個だと思う。
だから>>48の解は正しい。
0116デフォルトの名無しさんNGNG
>>67
> >>62
> デザパタは使えて当たり前なんで、Java厨と違っていちいち騒がない。
かなり傲慢だな。騒いでいるC/C++厨が腐るほどいるのは事実だが
0117デフォルトの名無しさんNGNG
使ってて当たり前でも周りの奴が積極的に使ってくれないと
まともに使えない。騒ぎたくなる理由はそこにあるんじゃなかろうか。
他の奴にも使って欲しい。使ってくれれば開発効率が格段に向上すると。
0118デフォルトの名無しさんNGNG
>統一的な認識を得るために各手法へ名前を付けたことが重要なのであって、

「ここはシングルトン み た い にこんな 感 じ で 実装すれば良いんじゃない?」

こういう用法で使うのが基本。

0119デフォルトの名無しさんNGNG
>>115
それは違うと思う。
数多くの基準が2個なのはコードの重複であって
制御構文をポリモーフィズムに変換するのは別
リファクタリング本見ればそれは解るよ
0120デフォルトの名無しさんNGNG
>>118
つまり、シングルトンっぽい気がするけど本当のシングルトンだかどうだか自身がない。
だからなんとなく「シングルトンで」とは言えずに「シングルトン み た い に」とか
「シングルトン の よ う に」とか「シングルトン っ ぽ く」とか言うわけだ。
 
0121デフォルトの名無しさんNGNG
シングルトンなんて、そんなにヴァリエーションねーじゃん。
0122デフォルトの名無しさんNGNG
「シングルトンっぽく」と言われたら、普通のシングルトンとどこが違うか
確認せずには居られない。
0123デフォルトの名無しさんNGNG
>>122
確認すれば済むから問題ない。
シングルトンっぽいからコードも追いやすいし。
0124デフォルトの名無しさんNGNG
>>123
しかし確認されたら>>120は困り果てるんだろ?
0125デフォルトの名無しさんNGNG
まあなんつーか、つまらん腹の探り愛は止めませんか?
0126デフォルトの名無しさんNGNG
>>124
世の中の実装がすべてピカピカのアルゴリズムで構築できりゃ苦労はせん訳だ
0127デフォルトの名無しさんNGNG
全部が全部じゃないがデフォルトのパターンのまま使ってることは少ないと思うが...
なんかしら拡張機能つけたりしてる。
0128デフォルトの名無しさんNGNG
所詮パターンなんだから、”型”でしかないでしょ。
だから120や123のようにバリエーションでてもいいじゃない。
実際118の言ってるのだって、
”シングルトンのように”は”シングルトンをベースにした”って読みかえられるわけだから、
シングルトンをベースにしただけで、ベースにした物もシングルトンと同一でないと
いけない理由もないでしょ。
120はシングルトンがどんなのか判ってないけどシングルトンらしく書いてシングルトンと名乗ってる例と
シングルトンをベースにして変えたのをごっちゃにしてると思うよ。

0129デフォルトの名無しさんNGNG
とりあえず、
スレッドセーフでないものは
真のSingletonでないってことでオッケー?
0130デフォルトの名無しさんNGNG
バールのようなもの。
0131デフォルトの名無しさんNGNG
例えば、スレッドセーフにする必要が全くない場合とか。
0132デフォルトの名無しさんNGNG
>129
スレッドセーフになっかしないぞ。
いわれてみればそうしたほうがいいかも知らんが、今まで全部メインスレッドで初期化しメインスレッドで終了させて宝必要なし
0133デフォルトの名無しさんNGNG
>>132
よかったな。
0134デフォルトの名無しさんNGNG
つまり、アブストラクトファクトリっぽい気がするけど本当のアブストラクトファクトリだかどうだか自身がない。
だからなんとなく「アブストラクトファクトリで」とは言えずに「アブストラクトファクトリ み た い に」とか
「アブストラクトファクトリ の よ う に」とか「アブストラクトファクトリ っ ぽ く」とか言うわけだ。
0135デフォルトの名無しさんNGNG
>>134
> 本当のアブストラクトファクトリ
本当の正三角形がこの世に存在しないのと同様、そんなものも存在しない。
もしかしたらイデアの世界にはあるのかもしれんが。
0136デフォルトの名無しさんNGNG
>>134
木を見て森を見ないタイプの人間だな。
アナベル・ガトーに合わせたら小一時間ほど説教されるな。
0137デフォルトの名無しさんNGNG
>>135
プログラムと正三角形のなにが同様なのだかわかりません。
0138デフォルトの名無しさんNGNG
>>137
アホなんですね。
0139デフォルトの名無しさんNGNG
ってか、「本当の正三角形」でなく「本当の三角形」なんだが
0140デフォルトの名無しさんNGNG
>>132
> >129
> スレッドセーフになっかしないぞ。
> いわれてみればそうしたほうがいいかも知らんが、今まで全部メインスレッドで初期化しメインスレッドで終了させて宝必要なし

おまえみたいな香具師がバグを生み出し他人に迷惑をかける。
0141デフォルトの名無しさんNGNG
Abstract Factoryはアスペクト指向で欠点が解消されるかな
0142デフォルトの名無しさんNGNG
アスペクトJって実際のプロジェクトで使ってるやついる?
0143デフォルトの名無しさんNGNG
>>142
使わなくても良いものは極力使わない。これ基本。
0144デフォルトの名無しさんNGNG
当たり前のことをいうな。
それはExtreme Programmingでは常識だ。
0145デフォルトの名無しさんNGNG
Extreme Programmingって実際のプロジェクトで使ってるやついる?
0146デフォルトの名無しさんNGNG
>>145
「変化を抱擁せよ」だけは以前から使っている。
客と営業がな。
0147デフォルトの名無しさんNGNG
キチガイみたいな名前だよなぁ
0148デフォルトの名無しさんNGNG
グローブオブファイトのスレですか
0149デフォルトの名無しさんNGNG
>>135
同意
本当のハヤシライスがこの世に存在しないのと同様、そんなものも存在しない。
0150デフォルトの名無しさんNGNG
>>143
死ぬまで汎用機でCOBOLすれ。
0151デフォルトの名無しさんNGNG
>>149
激しく同意。

長年追い求めているがなかなかこれと言ったハヤシに巡り会えない。
0152デフォルトの名無しさんNGNG
林さんの作ったハヤシライスをお囃子を聞きながら脇毛を生やして食べるのが早し。
0153デフォルトの名無しさんNGNG
>>152
良い回分ですな。
0154デフォルトの名無しさんNGNG
>>153
逆から呼んじまったじゃネカ
0155デフォルトの名無しさんNGNG
回分?押韻じゃねーの?
0156デフォルトの名無しさんNGNG
>>152
それはhayashi-riceパターンですな。
0157デフォルトの名無しさんNGNG
一つのオブジェクトを使い回すパターン?
0158デフォルトの名無しさんNGNG
奥村晴彦氏のアルゴリズム事典の様なものだね。
0159デフォルトの名無しさんNGNG
ちなみに皆さん、GOFって普段どう読みます?

 ギャングオブフォー
 ジーオーエフ
 ゴフ

オイラはゴフ
0160デフォルトの名無しさんNGNG
グローブオブファイト
0161デフォルトの名無しさんNGNG
>>160
オブではなくてオンだろ。
0162デフォルトの名無しさんNGNG
ここはヲタクなインターネッツですね.

ちなみに漏れはゴフ
0163デフォルトの名無しさんNGNG
(´д`)ゴフッゴフッ
0164デフォルトの名無しさんNGNG
XAMLは?

じぶんはえぐざむる
0165デフォルトの名無しさんNGNG
XAML=ザメル
0166デフォルトの名無しさんNGNG
どっちにしろこのデカ物はあの船には載りやせんぜ!
0167デフォルトの名無しさんNGNG
ここで言っているレイヤーパターンというのは
ttp://pc5.2ch.net/test/read.cgi/tech/1004962559/
どの様なものか、軽く説明して頂けないでしょうか

恐らくこの本に載っているのかなと目星をつけたのですが、今月は貧乏地獄でして…
ttp://www.amazon.co.jp/exec/obidos/ASIN/4764902834/250-2491241-0319464

厚かましい質問なのは重々承知ですので、あれでしたらスルーしちゃってください
0168167NGNG
失礼しました、正確にはこのレス番号です
ttp://pc5.2ch.net/test/read.cgi/tech/1087050664/36
0169デフォルトの名無しさんNGNG
ファクトリー ってみんな使ってる?
0170デフォルトの名無しさんNGNG
使ってません
0171デフォルトの名無しさんNGNG
>>169
Windows で COM のお世話になってる人間は、みな使ってる。
0172デフォルトの名無しさんNGNG
Windowsのドキュメントビュー型プロジェクトにメメントを組み込もうとしてるのだが
アンドゥ対象のデータ(シリアライズ対象)だけドキュメントクラスの派生で作ってメメントクラスをフレンド
にした。

ここでアンドゥの管理クラスをどこに作ればいいのかで止まってる。
アプリケーションクラスだろうか。

MFCとデザインパターンとオブジェクト指向全てにおいてあいまいな知識しかないので
見当違いな質問しているかもしれないが教えてください。
0173デフォルトの名無しさんNGNG
>>172
自己レス
アンドゥ対象をドキュメントクラスの派生で作らずに、素のクラス作ればいいわけですね。
自己解決です。たぶん。
0174デフォルトの名無しさんNGNG
デザインパターンの勉強にはC++よりJavaのほうが向いていますか?
0175デフォルトの名無しさんNGNG
>>174
C++を100 としたら、Javaは107くらいの割合で向いている。
0176デフォルトの名無しさんNGNG
そんな感じですか。C一本でやってきたんですがそろそろ限界が見えてきたので(UMLやるにも
COMやるにしてもオブジェクト指向がほぼ必須なので)どっちから入ろうかと考えていました。
ありがとうございます。
0177デフォルトの名無しさんNGNG
Cを知っているなら、どっちからやっても大差ない。
C++ も Java も文法の難易度はどっこいどっこい(若干Javaがやさしいけど)。
0178デフォルトの名無しさんNGNG
C++はテンプレートとか例外安全の保ち方とかがややこしい
のでよく知ろうと思ったら、Javaよりかなり難しいと思う。
0179デフォルトの名無しさんNGNG
Javaの範囲内だけなら、Javaの方が若干簡単。
しかしC++にはJavaにない機能がある。
0180デフォルトの名無しさんNGNG
Javaとは比較にならない面倒くささと落とし穴もついてきます。
0181デフォルトの名無しさんNGNG
C++の面倒くささや落とし穴を全て回避できる程度にC++に熟練しているなら
C++の方が簡単。
0182デフォルトの名無しさんNGNG
あ"〜〜〜〜〜〜〜
Mementoでアンドゥ面倒くせーって、なんかギャグみたいだな

アンドゥ対象の数だけ、クラスが増えていくんだけど、こんなものなんでしょうか?
templateもあまり使えないし、困ってます。
いまアンドゥ用の状態保存を兼ねたコマンドクラスが51種類ありますよ…。

大体5移動した場合のアンドゥが-5セットするだけ…なんて簡単なの滅多に無いんですよね。
可読性も落ちるし、余計なバグも増えるし…もういやだ…。
0183デフォルトの名無しさんNGNG
>>182
お勧めのテクニック。

1.Memento をきっぱり見捨てる。
2.継続をサポートした言語を組み込む。
3.操作する度、状態を保存。

以上。
0184デフォルトの名無しさんNGNG
>>183
スマン、ネタかどうかも判断できなくて。見捨てる覚悟はあり。

継続をサポートした言語ってなんだろう、調べてもさっぱり。
継続ってスタックの事かな?
0185デフォルトの名無しさんNGNG
ま、>>184 は俺じゃないので、見捨てるのは一向に構わんが、
最近の言語は、悉く継続を積もうと躍起になっているぞ。
0186デフォルトの名無しさんNGNG
オレの実装では、アンドゥクラスを1つ作った。内部はスイッチ分岐。コマンドとかオプションの保存とかも、この方式。
なんでもオブジェクトに担当させようとすると、コードも保守も煩雑で肥大になる。
デザパタ流では、オブジェクトに担当させた方が、保守性・拡張性ともに優れている、という結論になるんだろうが。
0187デフォルトの名無しさんNGNG
>186
俺的に許さん
0188184NGNG
>>185
いあ、見捨てるのはMementoをだよ!>>183
馬鹿正直にやるとオブジェクトの粒度が細かすぎるよー。
アスペクト指向とかになると、この辺楽になるのかねぇ。

>>186
俺もそんなんで行こうかなぁ。もう疲れたよパトラッシェ。

やる事がそれぞれ違うのに、ExecuteとUndoだけでやらなきゃだからさ、
なんか凄い無理が出るのよ。例えば最初のExecutまでの情報セットがだらけたり。

あーあ、久しぶりにゲームでも作りたいな。
リプレイ機能?カンベン…
0189デフォルトの名無しさんNGNG
>>183
継続だと楽にできるの?
0190デフォルトの名無しさんNGNG
>>189
相手にしない方が・・・
0191デフォルトの名無しさんNGNG
>>189
楽も何も・・・
「前の状態に戻りたい」という「前の状態」とは、
いわゆる「継続」そのものだから。
0192デフォルトの名無しさんNGNG
アホはスルー
0193デフォルトの名無しさんNGNG
>182
クラス増えるのはまったく問題なし
2chブラウザ見たいの作ったら自分の感覚だとクラス数300−500ぐらいになると思う
0194デフォルトの名無しさんNGNG
>>193
デザパタ厨の的外れなコメント
0195デフォルトの名無しさんNGNG
>>182
>アンドゥ対象の数だけ、クラスが増えていくんだけど、こんなものなんでしょうか?
>templateもあまり使えないし、困ってます。
>いまアンドゥ用の状態保存を兼ねたコマンドクラスが51種類ありますよ…。

アンドゥ対象を一つのクラスにまとめてそいつをメンバーに持つクラスを被せて
アンドゥ対象を一つに纏めたクラスはカプセル化を維持したいから、その被せたクラスのフレンドにするらしい。

ttp://member.nifty.ne.jp/yamazaki/doc/cpp_design_pattern.html#Memento

こうするとアンドゥ対象が沢山できるなんてことはないのだけど、なんかフレンドまで使って無理やりデザパタ
に合わせたみたいでいまいちメメントのメリットわからないっす。

ttp://www.hyuki.com/dp/anime/Memento.gif

ギコ猫でもフレンド使えと言ってる。フレンドってなんか構造化言語でGOTO使うような感覚でどうも納得いかない
のだが、こういうものなんだろう。デザパタ本当に良いのか?
0196デフォルトの名無しさんNGNG
とりあえずGoF位読めよ
0197デフォルトの名無しさんNGNG
デザパタ信者ってのは通常Java厨で、まともなプログラムなんて組んだことがない。
本から得た薄っぺらい知識にすがってるから、本質が全く見えていない。
批判すると反論できないので、理解してないだの、勉強しろだの、無知無能だのといいだす。
くだらん型判定のために、Visitor使って喜んでるような変態が多い。
0198デフォルトの名無しさんNGNG
過ぎたるは猶・・・ってやつだと思う。
デザパタなんてカタログだからな。カタログめくるだけで
物は作れないわけで。でも、めくったら新しい発見があるかもしれない。
実際ほとんど作ったこと無いけど設計だけやるような人がいたりもするので驚く。

>くだらん型判定のために、Visitor使って喜んでるような変態が多い。
このやり方はそんなに嫌いじゃない。適用する場所によるだろうけど。
0199デフォルトの名無しさんNGNG
>>196
何読んだら良い?紹介してくれ。
0200デフォルトの名無しさんNGNG
そのクラスが増えて困るというのがよくわからんのだけど?
0201デフォルトの名無しさんNGNG
んでおまえらが2chブラウザ作ったらクラスすうどのぐらいになるの?
0202デフォルトの名無しさんNGNG
>>201
俺ならたったの1個で済ますぜ。
すげーだろ。
0203デフォルトの名無しさんNGNG
コマンドパターンはなんか凄そうなことかと思ったがこんなこと
当然だろうと思ってしまった。

今のところなるほどと思ったのはシングルトンだけだな。まだ5つぐらいしか知らん俺が
言うことではないか。
0204デフォルトの名無しさんNGNG
>>202
0にできないところがお前の能力的限界だな。
0205デフォルトの名無しさんNGNG
中学生が増えてまいりました
0206デフォルトの名無しさんNGNG
>>199
http://www.hyuki.com/dp/index.html
0207デフォルトの名無しさんNGNG
たった100行のプログラムで、クラスが20もあったらどう思う?
何千行のプログラムが、1つのクラスだったら?
クラスが多いと悪いとか、少ないと良いとかじゃない。
適度な粒度と、共通部分の集約が重要。
同じような処理が各オブジェクトに重複して存在するうえ、
処理が全く違う場合でもインターフェイスの統一を強いられ、
その上、粒度が細かくなり過ぎるのが問題だといっている。
保守性は最悪だし、拡張するのも面倒。
拡張時のインターフェイス変更の危険性も増す。
自分でプログラミングすれば、誰でも簡単に見えることも、
本の鵜呑みじゃ見えてこない。
0208デフォルトの名無しさんNGNG
>207
だから2chブラウザ(比較のため適当かと)を作るとしたらどのぐらいになるの?
自分にとっては300ぐらいが適当。
同じような処理は一切存在しないし細かすぎるとも思わない.
大きいクラスもあれば小さいクラスもある.
commandのswitch分岐なんか論外。
0209デフォルトの名無しさんNGNG
>>208
数にこだわるなって話だろ
ステップ換算のCOBOLERじゃないんだから
0210デフォルトの名無しさんNGNG
Java厨は死ぬまでアンドゥを各オブジェクトに実装してろってこったな
0211デフォルトの名無しさんNGNG
いや他の人だとどのぐらいの粒度でやってるのかが知りたくて.
うちの会社では自分の粒度が格段に高かった。
でも他の人の見ると同じようなコードが分散してる気がしました.
0212デフォルトの名無しさんNGNG
>>208
Mementoの話でしょう。なんで2chブラウザが(w
0213デフォルトの名無しさんNGNG
>>208
2chブラウザと一口に言われても、いろいろだしな。もう少し具体的に、どの機能をどのパターンで実装したら、粒度がどうなったくらいまで書いてくれないと。
0214デフォルトの名無しさんNGNG
いや、大体推定で...
自分はJaneStyleを基準にして考えたんだけど
0215デフォルトの名無しさんNGNG
>>211
会社って事はデタラメなコード書いてる奴らばっかりってことだろ。
それなら>>211が格段に細かくても当たり前だと思う。

構造化からオブジェクト指向に入った人は、
初めのうちはクラスの数が少なくなりがちだから。
0216デフォルトの名無しさんNGNG
Javaを使ってる若い人は可哀想だと思うよ。
日教組に自虐教育をうけた小学生みたいでさ。
状況に応じて自分で考えることが出来ない。
static悪、分岐悪、コンポジット最高みたいにさ。
0217デフォルトの名無しさんNGNG
目的は良いソフトを作ること
そのための道具の1つとしてデザインパターンが使えるなら使う
間違ってもデザインパターン流にソフトを作ることが目的じゃない
0218デフォルトの名無しさんNGNG
>>216
そりゃ単にあんたが年を食って、若い連中に知った風な事を
言いたくなっただけだよ。言いがかりだな。
昔は継承による差分プログラミング最高だったわけだが、
だからといって自分で考えられなかった訳じゃないだろ。
今の若い連中だって、考える奴は考えるし、考えない奴は考えない。
当たり前じゃないか。
0219デフォルトの名無しさんNGNG
てか、若い人がダメなんじゃなくて、Java厨がダメなんでしょ。
0220デフォルトの名無しさんNGNG
教育機関でのJavaの学習が洗脳的だってこと?
0221デフォルトの名無しさんNGNG
Javaを教えてる人が
GOF読んだだけでほとんど
プログラムしたことないってのが
一番問題なんじゃ
0222デフォルトの名無しさんNGNG
>221
んなことねーだろ...



あるのか?
0223デフォルトの名無しさんNGNG
おれ工房だけど、うちのがっこの場合、せんせはデザインパターンなんて知らない。
Javaの文法と、サンプルコードを実行するまでの手順がわかるってくらい。
わかんないこととか、授業中におれに聞いてくることあるもん。
0224デフォルトの名無しさんNGNG
>>218
>差分プログラミング最高だったわけだが、

そんな時代はなかった。
0225デフォルトの名無しさんNGNG
たたいマンセー
0226デフォルトの名無しさんNGNG
>>223
>わかんないこととか、授業中におれに聞いてくることあるもん
そんな風に親近感を持たせつつ生徒に歩み寄る
美人女教師はそうそういない。大切にしろよ。
0227デフォルトの名無しさんNGNG
>>179
> Javaの範囲内だけなら、Javaの方が若干簡単。
> しかしC++にはJavaにない機能がある。
といっても、デザインパターンで設計するうえでは
C++にある機能ってのはオブジェクト指向的に必要のないものばかりだが。
0228デフォルトの名無しさんNGNG
Java厨はやっぱデザパタ的にプログラミングするのが目的だったってオチ?
そりゃデザパタの功罪なんて話は無理だわな
0229デフォルトの名無しさんNGNG

目的がオブジェクト指向やデザインパターンって・・・
いつの間にか手段が目的と化してる

すると何かを実現するためにプログラミングするんじゃなくて
プログラミング自体が目的なのか?

プログラムが動いて何かを実現するよりも
自己満足のソースを眺める方が重要なのか?
0230デフォルトの名無しさんNGNG
このスレは、デザインパターンを理解出来ない低レベルプログラマーが
必死で活動するスレですか?
0231デフォルトの名無しさんNGNG
>>230 その言葉を待ってました。 ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ さ出かけるか(w
0232デフォルトの名無しさんNGNG
どうせデザパタをまともに語れる奴なんていないんだろ。プッ
お前らみたいな無知無能がオブジェクト指向なんてできるわけがない
まずは批判する前に勉強しろ
0233デフォルトの名無しさんNGNG
デザインパターン使い始めるとクラス数は明らかに増える傾向にあるな。
特にCommandパターンなんて、今までならOnOpenDocument内に直に実装していたのに
わざわざクラスにするのだからな。
0234デフォルトの名無しさんNGNG
>>229
>すると何かを実現するためにプログラミングするんじゃなくて
>プログラミング自体が目的なのか?

プログラマとしては正しいと思う。
職業プログラマとしてはダメダメだけど。
0235デフォルトの名無しさんNGNG
>>234
プログラムが綺麗なだけで自己満足できる人はいないだろう。
どんなプログラマーでも正しい動作することは必須条件。

俺は最低限コメントさえ詳しければいいと思うよ。デザインパターンの有無はともかく。
0236デフォルトの名無しさんNGNG
>>235
>プログラムが綺麗なだけで自己満足できる人はいないだろう。
>どんなプログラマーでも正しい動作することは必須条件。
それは確かに必須条件だな。
が
>俺は最低限コメントさえ詳しければいいと思うよ。デザインパターンの有無はともかく。
その前にやっぱり漏れはプログラムが綺麗で素直な事が重要だと思うよ。
綺麗で素直(コードの書き方にトリックプレイとかなく淡々と書いてある)なコードは
保守しやすいし、読みやすい。
なによりそんなコードだとバグの入る率が激減するからな。
その上でコメントかな。
ソース=コメントって考え方もあるんだし。
0237デフォルトの名無しさんNGNG
ソースはコメントになりうるが、コメントはソースにはなれん
0238デフォルトの名無しさんNGNG
なぁ、素敵なナイスガイ様たち、ちょっとバシッと答えてくれまいか
Windowsプログラムで、かつC++の話なんだけどさ

1、素のままだろうが、MFC/ATL/WTLだろうが、全てのWM_メッセージは結局
  プロシージャか、それの代替コントロールクラスに集まるよね。これをCMainクラスとする。
  するってぇとCMainは、イベントを受け取って実際に動くクラス(通知先クラス)を全て持ってなければなのだろうか?

2、同じWM_LBUTTONDOWNでも、状態によってやること(通知先)が違う。
  ここでstateパターンでも使ってみたくなるけど、実際に通知先クラスを持ってるのはCMain。
  stateクラスからCMainが持つ通知先クラスには当然アクセスできない。
  こうなるとCMainが、その中身を使わせるためのメソッドを全て用意しなきゃなのだろうか?Mediator?friend?

例えばここでMVCモデルとか持ち出されても、実際にどうやるか良く分からないんだよねぇ…。
0239デフォルトの名無しさんNGNG
> 特にCommandパターンなんて、今までならOnOpenDocument内に直に実装していたのに
電波キタ━━━━ヽ(`ζ.´)ノ━━━━!!!!
0240デフォルトの名無しさんNGNG
Java厨って、デザパタ以外



   な   に   も   知   ら   な   い   ん   じゃ?   (w


0241デフォルトの名無しさんNGNG
よくいるデザパタ馬鹿

デザインパターンが大層なもんみたいに勘違いして
必死こいてなんとか読んだ自分が出来る奴だと勘違いして
間違いを指摘されると反論も出来ずデザパタ分かってないとか言いだして
挙げ句はデザパタ以外何も知らない自分をさらけ出しちゃって
職業プログラマならデザパタなんて土日で読める程度のもんなのに
0242デフォルトの名無しさんNGNG
>>240-241
そういう事にしてやるから消えろ。
0243デフォルトの名無しさんNGNG
>>238
MFCは chain of responsibility だったと思う。
0244デフォルトの名無しさんNGNG
A「デザインパターンっていいよね」
B「プッ、デザインパターンで全てを解決出来ると思ってる馬鹿ハッケーン」
A「いえ、別にそんなこと思ってません」
B「ワハハ、何も出来ないんじゃん。やっぱりデザインパターンって用無しだね プッ」
0245デフォルトの名無しさんNGNG
まぁきちがいとは会話できないってこった
0246デフォルトの名無しさんNGNG
A「Mementoだとオブジェクトの粒度が細かくなるよね。」
B「クラス増えてもいいだろ。2chブラウザならクラスいくつになるんだよ。」
A「なぜ2chブラウザ? だれかクラス数の話した? 聞きたいなら、どの機能がどのパターンだと粒度がどうくらいまで書いてくれないと。」
B「昔は差分プログラミング最高で、コマンドはOnOpenDocument内に直に実装してただろ。とりあえずGoF位読めよ。」
A「・・・」
0247デフォルトの名無しさんNGNG
>>246
細かいニュアンスとか会話の流れが捏造されてるぞ。
朝日新聞みたいなまねはするな。
0248238NGNG
>>243
いや、それはMFCがメッセージをディスパッチする仕組みの事だよね?
俺が知りたいのは、その結果の使い方なんですよ。

といってもレス来そうにないなぁ、こりゃ…。
0249デフォルトの名無しさんNGNG
>>248
回答としては、1と2ともにNo。もう少しSDKプログラミングの基礎学習が必要。
(メッセージループからやり直せ。)
Windowsの流儀を学んだうえで、デザパタ流にすることは出来るけど、
流儀を知らずにデザパタだけは無理。
0250238NGNG
>>249
もちっと具体的に言ってくれぇ。
メッセージループの仕組みなんか知ってるよ。
実際はでも生のまま叩かないだろ?WTLなり使うわけだ。
まさか昔のぷよーん氏の様にフレームワークから自作しろってのかい。

流儀とか基礎学習とか、曖昧なだけでもう
こういっちゃなんだが、威張りたいだけに見えるよ…。
0251デフォルトの名無しさんNGNG
>>250
そう思うならさっさとこのスレを見限ってどこかの優しいお兄さん達の集まるBBSなりMLに行けばどうだ?
0252デフォルトの名無しさんNGNG
MFCなりWTLを使っておいてわざわざデザパタ流にする意味ないと思うけどな。
0253デフォルトの名無しさんNGNG
>>252
それこそ目的と手段がごっちゃになってるよな。
0254デフォルトの名無しさんNGNG
>>250
べつにWTL使っていいんだけど、WTLでのメッセージループの実装、ソース見た?
>>238 の1や2みたいな見当違いだと、メッセージループの仕組み、分かってないやん。
>>238 の文章で伝わるのは、Windowsプログラミングをしたことがないのに、
デザパタ流でWindowsプログラムをしようとして、右も左も分からないって事くらい。
0255デフォルトの名無しさんNGNG
>>254
だからデザパタありきで何かやろうとすんなよ。。。
0256254NGNG
>>255
やろうとしてないけど(藁
0257デフォルトの名無しさんNGNG
>>255-256
>>244のパターン
0258デフォルトの名無しさんNGNG
いつも言われてるので たまには人に言いたくなった by Java厨
0259254NGNG
>>257
>>244 って可哀想な人やん(藁
0260238NGNG
おお、流れが変わった。

>>252-253
まてまて、それじゃ生のままで構わないよ。
俺もMFCとか実際に使ったことないしな。

でもさ、わざわざ自作してメッセージをマップしたり、
継承可能なWindowクラスを作っても、結局同じものになると思うのよ。俺ごときじゃ。
>>252氏のやりかたが、どんな感じなのか教えてくれ。煽りじゃなく本気で。

>>254
みたみた、この板で一時期話題になったマッピング方法と大体同じだね。ってもうスレ無いや。
本当に良くできるよ。とても自分で作る気にはならないっす…。
0261254NGNG
べつにWTL使っても、デザパタのエッセンスは生かせると思うよ。
やったことないけど(藁
それともWTLをデザパタ流に書き換えないと、デザパタ使ってる意味無いって話?
0262デフォルトの名無しさんNGNG
>>238
Win32APIスレの誤爆はあなた?
0263デフォルトの名無しさんNGNG
>>261 Java厨のいうことをまにうけちゃだめ(w
0264デフォルトの名無しさんNGNG
MFC、.NETともどもデザパタつかって独自フレーム作ってますが?
別にデザパタに限るわけじゃないけど
キーボードのルーティングとかchainなんたらといえなくもない
0265238NGNG
>>261
いや、そんなことないんですよ。そのまま使えればハッピー!楽したい!なので。
でもねぇ、なんだか一つのクラスが肥大化しすぎちゃいましてねぇ…。
この辺の既成クラスを使ってる人はどうしてるのかなぁと。

>>262
誤爆じゃないけど、なんか名前残ってて。スマソどこか間違ってたかな。
OSを〜ってのは、ちと切り分けが面倒だった記憶がありまして…使えないOSがあるって訳じゃないので。

関係ないけど>>248の「レス来そうにないな」は荒れてたからです。
248氏に言った訳じゃないので。紛らわしくて申し訳ない。
0266デフォルトの名無しさんNGNG
>>238は具体的に何が知りたいのか良くわからない。
メッセージを受け取るCMainが適当な粒度の
通知先クラスを集約してる形じゃ不満だということなのか?

2で言ってるstateクラスってのもどのレベルの状態切り替えかわからない。
アプリ全体に関わる状態だったらCMainとやらが持っていてもいいだろうし、
もっと小さいレベルならCMainが持つ通知先クラスの中の実装を
差し替えたりすればいいことのように思うんだけど。
0267デフォルトの名無しさんNGNG
デザパタって結局考え方集だろ?

つまみ食いするだけならめちゃ便利だよな
0268238NGNG
>>266
お付き合いありがたいっす。>>238確かに非道い!例えば通知先クラスって言葉が悪すぎ。
「イベントが来たとき実際に操作するクラス」のつもりでした。すいません、具体的に話し直すっす。

以前書いた描画アプリを、要望に応えてバージョンアップさせるのが目的なんです。
これがまたプロシージャに自動書記で直書きしたような奴でして、まず見やすいように成形しなおしたく思ってます。

状態は、「今、どの描画ツール(ブラシなど)を使っているか」です。たぶんアプリレベルですね。
結構複雑なキー・マウス操作もありますので、恐らくウィンドウメッセージ通知先の粒度は、
この描画ツールごとが良いと思いました。これをNotifiedClassとします。うぉ地震だ。

問題なのは、このNotifiedClassAとNotifiedClassBとが、共通のオブジェクトを
扱わなければ行けないことなんですよ。オブジェクトは例えばBlushやLayerなんてのです。
決して珍しいケースじゃ無いと思うのですが…。

結局こうなると、BlushやLayerを集約して管理するクラスが必要で、
管理クラスからNotifiedClassへは、get/setを始め豊富なメソッドをご用意って
うわそれ、NotifiedClass意味ないじゃん。助けて!っていうかすいません眠くて思考がもう。
0269デフォルトの名無しさんNGNG
>>268
地震ワラタ
0270243NGNG
見てない間にこんなにレスが
>248氏に言った訳じゃないので。紛らわしくて申し訳ない。
ん? 俺宛てか? 俺も「なんかいやな流れの中で書いちゃったかな」とか思ってた。

>みたみた、この板で一時期話題になったマッピング方法と大体同じだね。
が、よくわかんないけど、メッセージの処理はMFCでのコマンドルーティング
で使われているような chain of responsibility や、.NET系や最近の言語に
多い Delegation って、いうのかな、その2種類が主流っぽい。
他にあったら教えてくれい。

MFCとか使ってるわけでないなら、自分で Chain... 実装して状態
>「今、どの描画ツール(ブラシなど)を使っているか」です。
ごとにメッセージを処理するクラスを作っておいて
今、選択しているツールのメッセージ処理クラスを chain で
通るようにすればよい。複数の要素があっても複数を chain で
つなげればよいはず(もちろん複数前提で実装しなければいけないが)
でも、Layerって、表示レイヤー? なら visitor の方が普通かな?

しかし、MFC使ってたらこのへん(chain)融通利きにくそうなので
メッセージ処理クラスを chain に追加するのは難しそう。
wxの方がやりやすそうだった。

あくまで個人的な意見なので参考程度にしてください。
0271デフォルトの名無しさんNGNG
どのライブラリのメッセージ機構使ってもメインにぶら下げる必要なし
0272デフォルトの名無しさんNGNG
>>239
あーすまんが、この発言のどこら辺が電波なのか教えてくれ。>233は
アンチパターン「ゴールデンハンマー」にはまっているだけだと思うのだが。

俺もOnOpenDocumentなんて大抵直書きするが
0273デフォルトの名無しさんNGNG
>233
はCommandとEventを受けたところでなに書くかということを混同してる
0274デフォルトの名無しさんNGNG
>>268
なんとなく見えてきた・・が、微妙なので俺なりの回答を書いてみる。
描画アプリは描画するツール(ブラシなど)と描画対象(Layerなど)が
連携して動作するから、CMainはToolとCanvasを集約していて、
Toolは内部に複数の実装(ブラシやペンなど)を持ち、切り替え可能にする。
stateになるのかな?違ったら誰か突っ込んで。

基本的にCMainは今どの描画ツールが選択されているかとか
どのレイヤーがアクティブかなんてことは気にしなくて良いもののはず。
(アプリの仕様にもよると思うけど)

とりあえずToolとCanvasの各実装は後回しにして
Toolを実装したBrushとCanvasを簡単に実装したCanvasImpl
みたいのを作って設計を固めると後がやりやすいと思う。
一対一で動作が確認できればあとはToolをcompositeっぽく
実装したクラスを作って楽ができるような気がする。
0275デフォルトの名無しさんNGNG
>>274
簡単なプログラムをわざわざ難しくしているようにしか見えないのは俺だけ?
0276デフォルトの名無しさんNGNG
>275
そうしたほうがいいときもある.必要のないときもある.
0277デフォルトの名無しさんNGNG
クラスの数を増やして自分の生産性の高さを経営者に示す
0278デフォルトの名無しさんNGNG
>>275
難しく見えるなら簡単な方法で作れば良い。
0279デフォルトの名無しさんNGNG
趣味グラムとか後々資産にするためならば病的なまでに粒度細かくする
やっつけはしらん
0280デフォルトの名無しさんNGNG
とりあえず動けばいいだけのプログラムになんか頭使うの無駄だしな。
何かもっと上のものを望むときにだけ労力使いたいし。
0281デフォルトの名無しさんNGNG
脳の中もループしてるよ、良かったね。

大脳基底核:脳幹と大脳皮質の間に位置する神経回路。
入力部の「線条体」は大脳皮質からの興奮性の入力と、中脳からのドーパミン性の入力を受ける。
その出力は複数の抑制シナプス結合を経て大脳皮質に戻されるループ構造を持つ。
大脳皮質-基底核ループは、運動野、前頭前野など異なる皮質領域を投射先とする
並列的な構造を持つことが、近年の解剖学的研究により明らかになった。

0282デフォルトの名無しさんNGNG
>>224
おまえが無知なだけ。90年代初頭の雑誌でもあさってみろ。
よく知らないのに「なかった」とか言い切るのはアホの所業だぞ。
0283デフォルトの名無しさんNGNG
>>218 = >>233 だろ。こいつ馬鹿なのに粘着で、すくいよう無し。ム板から消えてくれ。
0284デフォルトの名無しさんNGNG
>>282
お前90年代に現場にいなかったろ?

その先にあったのは地獄と焼け野原だけだ・・・。
0285デフォルトの名無しさんNGNG
>>279
そのコンポーネントの90%が使用されることなく忘れられていく訳だ。
で、また同じモノを作る。良くある話で。
0286デフォルトの名無しさんNGNG
>>284
いや、いたぞ。だが、仮にいなかったとしてだから何?
無関係な事を関係ありそうに言うな。詭弁かよ。くだらねえ。
0287デフォルトの名無しさんNGNG
>>286
んじゃそのころCOBOLでも使ってたんですか?
0288デフォルトの名無しさんNGNG
>>283
ソイツが一人でこのスレのレベル落としてるのは事実だが
お前にキエロとまで言う資格あるか?
0289デフォルトの名無しさんNGNG
>>288
初級シスアドじゃダメですか・・・?
0290デフォルトの名無しさんNGNG
>285
いやそんなことないぞ。
まぁおなじようなものつくってるせいもあるけど。
0291デフォルトの名無しさんNGNG
なんかJava厨の考えが分かってきた

目的
ソフトで現実のメリットを得る <− プロ
機能や性能のいいソフトを作る <− アマチュア
ソースの自己満足的美学(現実のメリット度外視・機能や性能軽視) <− Java厨

この考えだと、WTLでデザパタなんてありえない
デザパタじゃないライブラリなんて意味がない
Java+オールデザパタじゃないと気がすまない

プロ的、アマチュア的には、使えるところに使える物を使うだから、
WTL+デザパタもありなわけだ
0292デフォルトの名無しさんNGNG
>>291
この馬鹿は何を言ってるんでしょうね。
0293デフォルトの名無しさんNGNG
>>270 >>274
すいません、ようやく家に帰ってこれました、つかれたっす…

お二人とも丁寧なレスありがとうございました。熟読しましたがChainや
Toolのポリモーフィックなど、私が目標としたい点である事は間違いないです。
ところが長年Cでやっていたせいか、どうもこんなのしか思いつかないんです…。

class CMain{
 ToolInterface* tool; //state
 CanvasImple* Canvas;
 CMain() : tool( new ToolBrush ), Canvas( new CanvasImple ){}
};

LRESULT CMain::WinProc( WinMessage msg ){
 return callChainProc( &msg, this ); //tool->WinProc();
}

void ToolBrush::WinProc( WinMessage* msg, CMain* main ){
 CanvasImple* canvas = main->getCurrentCanvas();
 Object* object = main->getCurrentObject();
 int blush_width = main->getBlushWidth();
 COLOR color = main->getCurrentColor();
 ..........
 if( msg->msg == WM_LBUTTONDOWN )
  //処理など

 //処理しないなら
 m_next_chain->WinProc( msg, main ); //他のツールというより、視点操作などですが
}
これだけgetterを用意するんじゃ、ToolBrush::WinProcなど、そのままCMainの
メソッドにした方がましな位な気がして、我ながら気に入りません。
次レスに言い訳を書きます。
0294293NGNG
おいおい、処理をまとめすぎじゃないか?

 例えばブラシツールは左クリックした時点で操作が終わるわけではなく、
 描画開始、描画中、描画終了とメッセージを処理しなければいけないわけです。
 ですから、どうしても一カ所にまとめて見通しを良くしないとやりづらいもんで…。
 Undo処理用準備なども分かりやすいので、つい…。

もう少し細かくポリモーフィックなメソッドを用意して、ましにできないのかよ?

 同じイベントでも、ツールによって処理が全然違うんですよ先輩。
 例えばCtrl+左クリックが、ただの左クリックと別の意味を
 持つツールもある。持たないツールもある。
 これを共通のメソッドに納めるのは辛くてつい…。
0295270NGNG
読み返してみたら >>274 さんが、かなりフォローしてくれてます?
多分、全く意識していなかったと思いますが、いや、>>293 での例が
単に両方取り入れているだけ? >>270 みるとわかりにくいし、
つーか、たいしたことかいてない?
>今、選択しているツールのメッセージ処理クラスを chain で
>通るようにすればよい。
いいわけすると、これがstateだったんだなと。
後で気が付くんだよな、「あっ、こんなとこにもパターンが」って感じで。

なるほど、コードにすると見えてきますね(自分的には)
>なんとなく見えてきた・・が、微妙なので俺なりの回答を書いてみる。
あれっ? 俺って周回遅れ?

ちゃうねんちゃうねん、>>270 では
>いや、それはMFCがメッセージをディスパッチする仕組みの事だよね?
>俺が知りたいのは、その結果の使い方なんですよ。
に答えたつもりやねん。
0296270NGNG
>これだけgetterを用意するんじゃ、ToolBrush::WinProcなど、そのままCMainの
ToolBrush のメンバーに持たせるようにして、new のときに渡してもいいかと
たいしたアドバイスじゃないけど

>例えばブラシツールは左クリックした時点で操作が終わるわけではなく、
>描画開始、描画中、描画終了とメッセージを処理しなければいけないわけです。
>ですから、どうしても一カ所にまとめて見通しを良くしないとやりづらいもんで…。
これは同意ですね、ドラッグ動作はまとめてしまいたいですね。

>同じイベントでも、ツールによって処理が全然違うんですよ先輩。
>例えばCtrl+左クリックが、ただの左クリックと別の意味を
>持つツールもある。持たないツールもある。
これもわかるよ


ドラッグの動作も一つのクラスにして、ToolBrush でWM_LBUTTONDOWNの時に
ToolBrushDrag を生成してこのクラスにメッセージが通るようにして
ドラッグの動作してもいいかもね。
Ctrl+左クリックでのドラッグもあるのなら ToolBrushCtrlDrag クラスとか
作って(ry

もう、あんまり書くことナイッス
0297デフォルトの名無しさんNGNG
Java厨の考えってキモイ・・・
0298デフォルトの名無しさんNGNG
>>292

>>>291
>この馬鹿は何を言ってるんでしょうね。
そーか?馬鹿か?

完全に認めるわけではないが、291のは当たらずしも遠からずってとこは
あるように思うがな。

プロ、アマだっていろいろあるだろーに。
中には291ぴったりのやつや、よく似た奴もいるだろう。
それをいきなり馬鹿って即断するあたり、喪前にもよっぽど問題あるよーな気がするぞw
0299デフォルトの名無しさんNGNG
>>298 煽りが弱いぞ
0300デフォルトの名無しさんNGNG
>>297
どれを根拠にJava厨って言葉使ってるの?このスレの内容?
0301デフォルトの名無しさんNGNG
↓
Chain of Unko Response
↓
0302デフォルトの名無しさんNGNG
 | ↑
   ̄ ̄
 ∩∧ ∧     おらっしゃあ!
 ヽ( ゚Д゚)
   \⊂\
    O-、 )〜
      ∪
0303デフォルトの名無しさんNGNG
アンチJavaな人は、劣等感の固まりですね。
0304デフォルトの名無しさんNGNG
JavaはC++と違ってポインターが無いから,デザインパターン知らないと眼も当てられないこと多いよね。
まあ,だから皆必死に勉強するんだが,C++はどうにかなっちゃう分デザインパターンの優先順位は低いからね。
自分の場合は,Javaだといつもデザインパターン(基本形,J2EE,etc)を意識するけど,
C++でやる時はライブラリィどれ使おうか悩むのが最優先だし...
0305デフォルトの名無しさんNGNG
>>304
どうにかなっちゃったコードを読む身にもなれ
0306デフォルトの名無しさんNGNG
>>304
相互依存しまくりでよければJavaでもデザインパターンなしでどうにかなると思うが。
C++のどうにかなっちゃうってのもそういうレベルなんだろ?
0307デフォルトの名無しさんNGNG
>>306
factory method 系は厳しく無いかい?
0308デフォルトの名無しさんNGNG
俺JavaもC++も使っているが、

>>304
>JavaはC++と違ってポインターが無いから
どういう点でそうなのかよかったら説明して欲しい。

>>307
これもいまいちピンと来なかった。説明求む。
0309デフォルトの名無しさんNGNG
> 俺JavaもC++も使っているが
Java厨の常套句(本当はWebで文法見た程度)
0310デフォルトの名無しさんNGNG
Java厨はひきこもり
0311デフォルトの名無しさんNGNG
言語だろうがパターンだろうが環境だろうが、勉強して良いと思ったものは使う。
そうでないものは使わない。そして他人に押し付けない。

そして仕事だと選り好みできない現実がある。ただそれだけ。
0312デフォルトの名無しさんNGNG
”あるオブジェクトが他からアクセスされたときにフックしたい”のフックってなに?
0313デフォルトの名無しさんNGNG
スレ違い。
0314デフォルトの名無しさんNGNG
>>313
プッ わかんないからって必死すぎw
0315デフォルトの名無しさんNGNG
313じゃないけど、どこがどう必死なんだろう
てか、312=314が必死?
しかし、若いもん?はフックも知らんのか。
0316デフォルトの名無しさんNGNG
Factoryって今日はじめて知ったけど便利だな
でもこれってJavaでこそ真価を発揮するんだな
C++で使うとちょっとキモい
0317293NGNG
>>296
こちらも勘違いしてました、委細承知でござる!
オブジェクトが静的なら、最初に必要なものをFactoryなりBuilderで渡しちゃえれば
格好良いのですけどねぇ。実際はあまりに生成破棄が多すぎて難しそうです…。

ポリモーフィックに行こうとこういうのを考えたことがあります。

ToolInterface{
 virtual void OnLbuttonDown() =0;
 virtual void OnLbuttonDownPressingRButton() =0;
 virtual void OnLbuttonDownPressingCtrl() =0;
};

ToolBrush{
 virtual void OnLbuttonDown(){ /*処理*/ }
 virtual void OnLbuttonDownPressingRButton(){ OnLbuttonDown(); }//操作変わらず
 virtual void OnLbuttonDownPressingCtrl(){ /*処理*/ }
};

ただこれも、getterの多さは変わらないんですよね。
どうすればもう少しオブジェクト同士が分散して動くような感じに出来るのだろう…。
いや長々お付き合いありがとうございました。今後の糧にします。
0318デフォルトの名無しさんNGNG
経験が浅いせいか、漏れがアホなせいかしらんが、
プログラミング構想時には、なかなかデザパタ適用が
ピンと来ないんだよね。
で、プログラム組んでると思いついてきて、上司には
内緒でこっそり、リファクタリングしてたりするんだが・・・
コーディング前にもう少し、想像力を働かせられるように
なりたいな・・・
0319デフォルトの名無しさんNGNG
>上司には
>内緒でこっそり、リファクタリング

フリーになるのがお勧め。
ただし素人には(ry
0320デフォルトの名無しさんNGNG
>318
作ろうとするプログラム実装する前にクラス構造とか必至に考えろ
0321デフォルトの名無しさんNGNG
>320
そういったクラス分けや構造って結構悩む部分なんだが。
(粒度や継承の度合い、連携その他・・・)
喪前さんの自己流でもいいから、
お手本又はガイドラインキボン
0322320NGNG
自分の作るプログラムに重複部分はほとんどない
重複する部分はほとんど"部品"としてきりだす。
多重継承多様
たたい多様
前の2chブラウザの話で言ったら自分も200-300いくと思う
0323デフォルトの名無しさんNGNG
また具体論抜きの妄想ですか(プ
0324デフォルトの名無しさんNGNG
おれの友達にもいたな。
漫画家志望で同人誌作ってた。
この漫画家はここがダメだとか
あの漫画家は大成しないだとか
おれならもっとこうできるとか
凄いこといっぱい言ってたな。
けっきょく漫画家になるどころか
卒業するまで一度も
同人誌は完成しなかったな。
いまはフリーアルバイターらしい。
なにが悪いんかなー?
0325デフォルトの名無しさんNGNG
>>322
>自分の作るプログラムに重複部分はほとんどない
>重複する部分はほとんど"部品"としてきりだす。
>多重継承多様
>たたい多様

なんで委譲使わなくて継承が多いのか聞きたいな。
継承だと確かに効率的なんだが上位クラスに縛られるしつぶしが利かないしね。
実際継承より委譲を使うべきって話も良く聞くし。
もちろん、これはこれで考えは判るんからケチつける気はないんだけどさ。
なんでそっちなのか気になるところ。
それに漏れはクラスってのはあるものの動作とか属性をひとまとまりにした物でクラス同士でメソッドやり取りして構成って
思うし、そーなると共通の要素を持った親的な存在があるってのなら判るんだが、
”部品”がクラスって言われると、それは”関数もぶち込める便利な構造体”としてしか使ってないんじゃないか?とも思える。
で、アクセス等が便利だから部品の真下にぶら下げていってるだけ。と。

もっとも322は漏れの言ってるのクラスの意味と同じ事を”部品”って表現してるだけだと思いたいが・・・
0326デフォルトの名無しさんNGNG
>>320がポリシーの概念を多くを用いたプログラムを書いているなら
多重継承の部分は結構納得。
0327320NGNG
ポリシーの概念って野がよく分からないんだけど
自分が使ってるグリッドクラスはハこんな感じ

public class CGrid:class CWindow,class CSerializable,class CCommandRouting{
ほにゃらら
}

ウィンドウでもあり、保存可能なものでもあり、コマンド受け取れるものでもある
各々が使われるフレームワーク(大げさだけど)に放り込んどけばそのとおりに動いてくれる.
自分はそういうフレームワークをドンどこ作っていってそこに当てはめる形で作ってます.
部品といってるのはフレームワークって意味に近いかも
0328デフォルトの名無しさんNGNG
>>327
MFCに近いなあ、志向が...
0329デフォルトの名無しさんNGNG
ここにいる人たちは業務系?
継承がいいとか委譲がいいって話は、システムのどの層を作るのかによって全く変わってくる部分だと思うんだけど。
0330デフォルトの名無しさんNGNG
>>327
おれもMFCやその辺のフレームワークと大差ない気がする
それなら皆が良く知っている物を使った方が良いし、自作するだけ無駄な気がするんだが・・・

もう少し具体的に違いを知りたい
たとえばそれだと>>293みたいのはどう処理できるんだ?
0331320NGNG
言いたかったのはなるべく共通の仕組みをつくり汎用的になるように設計するということだったんですけれど.
SwingとMFCだと設計思想違いますよね?Swingのほうがいろんな部品を組み合わせられるように出来ていると思います.
自分も作るときにはそうできるように作ってるんです.

>293の例だと他の条件が分からないのでなんともいえないんですが、あれはツールの描画上でのウィンドウに対する考え方とかイベントの配信の仕方とか絡んでますよね?
なるべくそこらへんは分離する.
で、うまく抽象化できればレイヤーとかもほとんどツール側には手を加えないでできるようにとか考えると思います.

自分の考える基本は使いまわせるようにする、いろんな流れを分離するです。
0332U ◆CZtFsGiu0c NGNG
>>327
ぱっとみたところ、実装継承ではなく型のみ多重継承しているようなので、
問題ないと思います。
#Javaならインタフェース使うとこだけど
0333320NGNG
>332
実装継承してます...
実装継承の問題点って何でしたっけ?
ダイヤモンド継承はしませんけど実装継承含む多重継承多用してるんですけど、今まで不具合はないんです.
逆にインターフェースを好む理由がわからないんです。何で基本クラスは一つにしなければいけないのかと?
>327の例だと別にグリッドクラスだけれどそれはウィンドウクラスでもあるし、シリアライザブルでもあるし、コマンド受け取れるものでもあるんです。
どれも同じ扱いなんです.
0334デフォルトの名無しさんNGNG
>>333
多重継承しても、互いに概念が全く違うものなら基本的には問題は発生しない。
よって君の使い方は可。
ポリシーはModern C++ Design参照のこと。
0335デフォルトの名無しさんNGNG
>>324
>お
>漫
>こ
>あ
>お
>凄
>け
>卒
>同
>い
>な

卒同いなってなんだろ...難しい縦読みだな
0336デフォルトの名無しさんNGNG
Java厨って才能無いのに夢見がちな少年?
0337デフォルトの名無しさんNGNG
>>336
心は少年、体は中年
0338デフォルトの名無しさんNGNG
>>337
技は大年あたりか?
0339デフォルトの名無しさんNGNG
デザインパターン=天才達が作ったスパゲッティパターン
0340デフォルトの名無しさんNGNG
デザインパターン=前世代の遺物
0341デフォルトの名無しさんNGNG
オブジェクト指向=前世代の遺物
0342デフォルトの名無しさんNGNG
オブジェクト指向→構造化

これが本来の正常な進化。
人間的な物からより機械が扱いやすい形へ。
機械が扱いやすいってことはそれだけ曖昧な所がなく理路整然として
分かりやすいということ。
クラスが多すぎる場合は、switchにリファクタリングしよう。
0343デフォルトの名無しさんNGNG
今や構造化も古いな。
機械が扱いやすいってことはそれだけ曖昧な所がなく理路整然として
分かりやすいということ。
あらゆる構造はgotoにリファクタリングしよう。
0344デフォルトの名無しさんNGNG
(`・ω・´) 
0345デフォルトの名無しさんNGNG
行番号を使ってプログラムを書くのが最近の流行らしい
0346デフォルトの名無しさんNGNG
馬鹿ばっかし
0347デフォルトの名無しさんNGNG
Javaでメソッドしかないクラスとフィールドしかないクラスを使って
C風にプログラムを組むのは何パターンて言うのですか?
0348デフォルトの名無しさんNGNG
Java厨って馬鹿を装ってる時でさえ
知識の浅さがにじみ出るね
0349デフォルトの名無しさんNGNG
>>348
そうだな



例えば>>348とか一見馬鹿装ってる、と自分で思ってるんだろうが
本当に馬鹿丸出しと見ただけで感じ取れるもんな
0350デフォルトの名無しさんNGNG
知ってる単語が少ないんだよね。スパゲッティとか構造化とかリファクタリングとかアスペクト思考とか、脈絡もなく連呼しだす(稾)
0351デフォルトの名無しさんNGNG
Java厨は「D言語」とかも好きだぞ
知識は皆無だが(w
0352デフォルトの名無しさんNGNG
↑馬鹿発見。

Java厨はJava以外に興味を示さず、Javaを盲信する奴のこと。
D言語に興味を示してる時点でJava厨では無い。
0353デフォルトの名無しさんNGNG
Java厨は、自分はJava厨じゃないっていうんだよな
勝手に自分で、自分を定義すんなよ
定義はまわりがするもんだ
>>352 は立派なJava厨(www)
0354デフォルトの名無しさんNGNG
↑Java厨が大挙して出現したな。
俺?俺はC++厨、Java糞言語
0355デフォルトの名無しさんNGNG
Java厨認定すると、ポイントがもらえたりするのだろうか。
100ポイントで1000円分のお買い物が出来ます。
自分の何の得にもならないんだったら、こんなことしないだろうしなぁ。
0356デフォルトの名無しさんNGNG
まぁ弱いものが弱いものたたくのがこの世の常だから。プゲラ
0357デフォルトの名無しさんNGNG
>>353
お前も立派なJava厨だな(www)
定義は周りがするらしいんで、お前は否定できないなwww
0358デフォルトの名無しさんNGNG
Java厨と呼ばれるくらいなら死んだ方がまし
0359デフォルトの名無しさんNGNG
>>358
> Java厨と呼ばれるくらいなら死んだ方がまし

じゃあ死ねよJava厨、お前が居なくなってもなんの影響も無い
0360デフォルトの名無しさんNGNG
IQが100以下の人達が集まっているスレですね。俺は自慢じゃないがIQ150。
0361デフォルトの名無しさんNGNG
KusoresFactory
0362デフォルトの名無しさんNGNG
>>360
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0363デフォルトの名無しさんNGNG
Java選択するという事自体がそもそも厨だな。
素人なら兎も角、並みの知性があれば、Javaなんか選択しない。
0364デフォルトの名無しさんNGNG
お前はJava使ってる人煽るしか能が無いのかよ?
0365デフォルトの名無しさんNGNG
GOFスレでJavaをネタに粘着してる釣り糸に脳味噌などあるわけもない
0366デフォルトの名無しさんNGNG
デザパタとJavaって関係ないやん
Java厨ネタはスレ違い
0367デフォルトの名無しさんNGNG
いいものがあるよ。
【厨房】言語叩き討論スレッド【隔離】
http://pc5.2ch.net/test/read.cgi/tech/1064841627/
0368デフォルトの名無しさんNGNG
俺としては、いつも見当違いの発言を繰り返す、Java厨に消えて欲しいけどな。
0369デフォルトの名無しさんNGNG
>>368
両刀使いはどうすっぺ?
0370デフォルトの名無しさんNGNG
Javaをちょっとでも使えば立派なJava厨
0371デフォルトの名無しさんNGNG
>>370
それは違う。
JavaひきこもりがJava厨。
0372デフォルトの名無しさんNGNG
じゃあ5つの言語を使ってる俺は?
0373デフォルトの名無しさんNGNG
>>372
その知っている5個のうちにJavaが入っていて、なおかつ、Javaで
全てのケースに対応できると信じきっていたらJava厨なんじゃない?
0374デフォルトの名無しさんNGNG
こいつが100の言語を知ってても やっぱりJava厨ダロ


121 名前:デフォルトの名無しさん 投稿日:2004/08/18(水) 22:51
おまえら計算量って言葉を知ってるか?
いくらC++が速くたって、NPな問題は現実の時間じゃ解けないんだよ。

例えばな
将棋のプログラムをJavaとC++で作っても
強さも体感実行速度も大差ないんだよ。
むしろ、アルゴリズムの問題で
アルゴリズムさえ良ければ
Javaで作ったプログラムにC++のプログラムは足元にも及ばない
なんて事さえ起こる。

インライン展開でもなんでもしてくれていいんだけど、
それがどれくらい利益を生み出したのかを考えるんだな。
もちろん、それが莫大な利益を生み出す事もある。
でも、ほとんどの人が作るプログラムはそんなC++の高速化は無益だったりする。
だってさ、ケータイでゲームが動く時代だぜ?
0375デフォルトの名無しさんNGNG
>>374
どこが間違ってると思うんだろう。
計算量の意味を理解してないんじゃないか?

Javaで作った方のアルゴリズムがC++の方のアルゴリズム
より優れていたら、Javaの方が速いってことなんて当たり前
なんだが。
0376デフォルトの名無しさんNGNG
あ、「速いって事なんて」じゃなくて、「速いって事があるなんて」だ。
0377デフォルトの名無しさんNGNG
スレ違いだけど、gccとJavaのベンチマーク
http://www.excite.co.jp/world/english/web/body?wb_url=http://www.sys-con.com%2Fstory%2F%3Fstoryid%3D45250&wb_lp=ENJA&wb_dis=3
0378デフォルトの名無しさんNGNG
> 375 名前:デフォルトの名無しさん 投稿日:2004/08/20(金) 01:54
> >>374
> どこが間違ってると思うんだろう。
> 計算量の意味を理解してないんじゃないか?
>
> Javaで作った方のアルゴリズムがC++の方のアルゴリズム
> より優れていたら、Javaの方が速いってことなんて当たり前
> なんだが。

うわぁ、本物のJAVA厨
0379デフォルトの名無しさんNGNG
>>378
2chていいなぁ。
アホがいて。
0380デフォルトの名無しさんNGNG
本人曰く「何が恥ずかしいか良く解らない」

> 5 名前:デフォルトの名無しさん 投稿日:2004/08/20(金) 02:19
> オブジェクト指向を勉強するならオブジェクト指向言語の顔であるJavaしか無いだろ
> C++やDelphiなどとは違う本物のオブジェクト指向が勉強できる
> perlとかrubyみたいな手続き型っぽく安っぽい言語でwebサイトとか作っちゃってその癖が残ると悲惨
> それにJavaはXPやデザインパターンを作り出した実績もあるしこれからも色々作り出していくだろう
> Javaから勉強して余裕があったら、ちょっとグレードの低いスクリプト系に行くのが無難
>
> 13 名前:デフォルトの名無しさん 投稿日:2004/08/20(金) 03:55
> >>9
> 何が恥ずかしいか良く解らない
> リンク先だって足し算するだけだからそんなの普通にJavaでも出来るよ
> そこはLispっていう誰も使っていないようなマイナー言語宣伝したいだけでしょ
> それにXPもデザインパターンもJavaだろ
> JUnitだってJavaが最初で他の言語に広まったんだから
0381デフォルトの名無しさんNGNG
>>375
|「A」で作った方のアルゴリズムが「B」の方のアルゴリズム
|より優れていたら、「A」の方が速いってことなんて当たり前
|なんだが。

A と B には何を入れてもいいよな。。。
0382デフォルトの名無しさんNGNG
アルゴリズムと言語は別物でございます
0383デフォルトの名無しさんNGNG
>>382
見分け付いてないか、混同してるやつがJAVA厨
0384デフォルトの名無しさんNGNG
>>375
間違っちゃいないが、アルゴリズムが違うなんて前提で速度を比較してどうするんだ。
JavaとC++の速度が大差ないという主張を何ら裏付けないじゃん。
論理展開がJava厨なんだろ。
0385デフォルトの名無しさんNGNG
>>368-384
こういう展開が「厨」
0386デフォルトの名無しさんNGNG
>>385
レッテル貼っておしまいというのもどうかと。
0387デフォルトの名無しさんNGNG
いや、おしまいでいいよ。
0388デフォルトの名無しさんNGNG
では一人残らず厨ってことでおしまい。
0389デフォルトの名無しさんNGNG
>>384
>>374に書かれていることは、そう言うことだろ。
将棋なんかでは大差ないことは、>>377を見れば分かる。
0390デフォルトの名無しさんNGNG
アンチJava厨というのは、Javaを習得出来ない、
Javaを習得するための勉強が出来ない、落ちこぼれだという
ことがよくわかるなー。
0391デフォルトの名無しさんNGNG
そろそろdかな
0392デフォルトの名無しさんNGNG
>>390
それって理屈通っていないぞ
そう考える判断材料は?
それに、少なくともアンチJavaがこのスレにいるとは思えないし、
Java*自体*を批判している人間は多くない。
Java厨の妄想一人相撲?
Javaって中毒症状があるのかなぁ…こわい
0393デフォルトの名無しさんNGNG
>>392
厨とかレッテルはる奴に理屈を求めるだけ無駄。
レッテルの種類にかかわらず、まともな理屈を述べた奴を見た事がない。
まともな頭がないからレッテルを貼るしかないんだろう。
0394デフォルトの名無しさんNGNG
JavaはJava厨の言うように万能でも最強でもないけど
技術レベルの低いプログラマでも人海戦術でなんとかできる
使いようによっては便利な言語だよ

まあJava厨に消えてもらいたいってのは
ム板住民の長年の悲願みたいなもんだからな
0395デフォルトの名無しさんNGNG
言語を使える、使えない、っていうのは…なんていうか、下等過ぎない?
そろそろ言語の枠を離れたらどうなの。
0396デフォルトの名無しさんNGNG
Javaプログラマ ≠ Java厨
Javaが使える ≠ Java厨
Java信者で頭が可哀想な人 = Java厨
0397デフォルトの名無しさんNGNG
>395
今はどのへんの領域にいるんでしょうか?
0398デフォルトの名無しさんNGNG
Perlがもっとしっかりしてれば
http://pc5.2ch.net/test/read.cgi/prog/1092405363/

あーあ
0399デフォルトの名無しさんNGNG
↑続々とJava厨が結集中
0400デフォルトの名無しさんNGNG
召喚するなよ迷惑だから
0401デフォルトの名無しさんNGNG
>>398
可読性の低い言語はロクな物がないと思うが。
いや、もちろんPerlでも可読性高いの書けるだろうが、
一般に書かれたPerlプログラムで今まで漏れの見てきたのは軒並み
可読性低かったしな。
まぁ、運悪くそんなのにしか当たらなかっただけかもしれんが。

で、JAVAだろうが、なんだろうが何で書こうと可読性低けりゃ
(低くしかかけないのなら)クズだし、それがないなら漏れはケースバイケースで
言語なぞ使い分ければいいと思うがな。
0402デフォルトの名無しさんNGNG
Javaって可読性最悪
自己満足だけでネーミングするなって漢字
0403デフォルトの名無しさんNGNG
ハンガリー使っとけ
0404デフォルトの名無しさんNGNG
>>403
ハンガリーは国名。国を使うのか。
知らない人間が見ても後で調べられるようにちゃんと書け。
0405デフォルトの名無しさんNGNG
ネーミングとハンガリーの両方が書かれてても検索で見つけ出せないカスは読まないでいいだろ
0406デフォルトの名無しさんNGNG
>>405
スキルのことを言っているのではない。
その手間が無駄なのだよ。
万民の教育のために少しでも効率に貢献しろ。
0407デフォルトの名無しさんNGNG
知るかボケ
0408デフォルトの名無しさんNGNG
>>406
ハンガリーなんてあんなのスキルでもなんでもないだろ。
単なる表記法ぢゃん。
読むなとはいわんが、
表記法もしらなきゃ、スキルと混同するような輩では
あまりまともなソースできそうにない気がするぞ。w

それにハンガリーで書いとけば少しは判りやすくなるわけだから
十分効率に貢献するぢゃないか。
そんなのもわからんのか?

・・・・つーか406はハンガリーが何かもわかってないに1へぇw
0409デフォルトの名無しさんNGNG
>>408
大いに勘違いしている、読解能力に乏しい408。
405が問題しているのは検索スキルのことであり、
私がスキルと言っているのは検索スキルのこと。
0410デフォルトの名無しさんNGNG
わかった。私が悪かった。
どんどん幼稚な話になっていくので止めよう。
0411デフォルトの名無しさんNGNG
馬鹿でも規則通りにネーミングがJava流
そのため冗長でセンスのかけらもなし
意味が分かりやすいとか規則的でいいとか自己満足・勘違いしてるが
変質的ネーミングで可読性最悪
0412デフォルトの名無しさんNGNG
http://www.geocities.co.jp/AnimeComic-Name/7415/seku_su.swf
セックスパターン
0413デフォルトの名無しさんNGNG
>>398
perlは捨ててPythonでもやれ。
0414デフォルトの名無しさんNGNG
テキストファイルからデータを読み込んで、それに応じてオブジェクトを生成したり、
メソッドを呼び出したりするのってどのパターンに該当するのでありましょうか
たくさんパラメータがあって、とりあつかうのが難しい……
0415デフォルトの名無しさんNGNG
>>414
if-elseifパターンでどうでしょ。

if p1 == nantoka1
  nantoka1();
elseif p1 == nantoka2 and p2 == nantoka3
  nantoka23();
elseif p1 == nantoka3
  nantoka3();
0416デフォルトの名無しさんNGNG
>>414
適当に答えるならファクトリじゃねぇのと。
0417414NGNG
>415
メインのルーチン上からは実行されているクラスの詳細が見えないで済むようにしたいんです。

>415
ファクトリって、ファクトリメソッドとアブストラクトファクトリって奴ですか。
いまんところ、パラメータ一個に対応して、こんな感じにしてみました。
0418414NGNG
class A {
virtual void f1()=0;
virtual void f2()=0;
……
};

class B : A {
void f1();
void f2();
……
};

class C : A {
void f1();
void f2();
……
};

main()
{
char class_type; //'B' or 'C'
//class_typeをどうにかして取得

A *pA;
pA= 何か生成する関数(class_type);
//class_typeに応じて処理が変わる
pA.f1();
pA.f2();
……
}
0419414NGNG
f1();
f2();
……
と、基本的なアルゴリズムはパラメータに依らず、固定です。

この上で更に、f1()やf2()の処理内容をパラメータに応じて
それぞれ独立に切り替えたいのです
0420デフォルトの名無しさんNGNG
>>418
ポリモフィズム使えば?
0421デフォルトの名無しさんNGNG
>>419
ならStateパターンを併用して、
パラメータはStateとして生成して、
pAにセットしてやれば?
0422414NGNG
>420
f1()とf2()でそれぞれ独立に切り替えたいんです。どっちかだけならまた継承できるんでしょうけど。

>421
Stateパターンですか。勉強してみます。ありがとん

0423デフォルトの名無しさんNGNG
>>414
それはパターン云々の話ではなくて、
インタプリタの作り方が分からないだけではないの?
0424デフォルトの名無しさんNGNG
>>414
あまり複雑なようなら、そもそも VM 作っちゃった方がいい場合も。
0425デフォルトの名無しさんNGNG
>>424
VMって二度手間ではないですか?
0426デフォルトの名無しさんNGNG
言語何よ?
リフレクション使えればモーマンタイ
0427デフォルトの名無しさんNGNG
C++
0428デフォルトの名無しさんNGNG
クラス名からクラス作れるようにすればいいんでしょ?
typeinfoとか使って実装しる。
0429デフォルトの名無しさんNGNG
>>414
根本的に能力が足りない。
0430デフォルトの名無しさんNGNG
>>425
場合によるなぁ。一から自分で作るのが面倒なら lua みたいな既存の
言語 + VM 持ってきて組み込んじゃうのもアリ。
0431デフォルトの名無しさんNGNG
>>428
typeinfoは役に立たない
0432デフォルトの名無しさんNGNG
>431
名前取ってくるだけよ
0433デフォルトの名無しさんNGNG
>>432
取ってきた名前が役に立たないの

typeinfoが返す名前は規格でどう定義されてるか調べてみ
0434デフォルトの名無しさんNGNG
>>433
一意である。と。
0435デフォルトの名無しさんNGNG
昔見たんでもう忘れたけど、一意なんでなかったっけ?
一意であれば問題ないが?
0436デフォルトの名無しさんNGNG
std::type_infoが返す名前は実装依存。
文字列が実際のクラス名となっている保証は無い。
アプリケーションを通じてユニークなものとなる保証も無い。
アプリケーションを2度実行した場合、同じ名前になる保証も無い。
0437デフォルトの名無しさんNGNG
>std::type_infoが返す名前は実装依存。
問題ない。一意でありさえすればいい
>文字列が実際のクラス名となっている保証は無い。
問題ない。クラス名からクラスを作る必要はない。クラス名はファクトリを保存するハッシュキーであればよい

>アプリケーションを通じてユニークなものとなる保証も無い。
>アプリケーションを2度実行した場合、同じ名前になる保証も無い。
これだと問題になるけれど、今まで5年動いているシステムで問題になったことはない。
0438デフォルトの名無しさんNGNG
コンパイラ依存のシステム構築したのか。アホだな。
0439デフォルトの名無しさんNGNG
>>438
なんで? 世の中、汎用性重視の仕事ばかりじゃないぞ。
0440デフォルトの名無しさんNGNG
ハードのスペックが足りないと大変だよね〜
0441デフォルトの名無しさんNGNG
なんでもいいから動けばいい、と思ってるならいいかもねぇ。
コンパイラのアップデート等で動かなくなるかもしれんけど、まぁそんときはそんときかw
0442441NGNG
まぁ自分の場合はそれでいいかもしれんが
それを他人に勧めるのはどうかと思うよん。
0443デフォルトの名無しさんNGNG
>>441
世の中、コンパイラをブラックボックスとして使わない場合もあるし、
標準規格では明確な規定が無くともほぼ「これは大半の処理系で
間違いなく動く」っつー部分もある。

どこまで踏み込むかは、ケースバイケースでしょ。
0444441NGNG
疑問が浮かぶ

本当にそれは「大半の処理系で間違いなく動く」のか?

このスレに救いを求めに来た人は「大半」の範疇から外れた人である可能性は無いのか?

さも当然のように「typeinfoを使って実装しろ」と言ってるが、
せめて「これは処理系依存だけども」、という前フリが必要じゃないのか?
0445デフォルトの名無しさんNGNG
そこでいっている処理系依存ってのは、テンプレート動くのかしらといってるのとどうレベルの話では?
少なくともtype_infoは標準仕様なわけでレアな処理系なら自衛すべきでは?
0446デフォルトの名無しさんNGNG
何言ってるかよくわからん。テンプレートも標準仕様だろう。
0447デフォルトの名無しさんNGNG
type_infoは標準仕様 の”は”は、主題の意味で使われているのであってテンプレートを対照とするものではないと思う。
0448デフォルトの名無しさんNGNG
ここにもまたJava厨・・・
0449デフォルトの名無しさんNGNG
>448
だれのことを指してるのかわからんが...
0450デフォルトの名無しさんNGNG
結局、>>414に対する答えは無しと(ワラ
0451デフォルトの名無しさんNGNG
デザパタなんて理論だけで実用的じゃないからね
0452デフォルトの名無しさんNGNG
なんか空想で語ってる人がいますよ。
0453デフォルトの名無しさんNGNG
だからおまえら責めてアンカーつけろ
0454デフォルトの名無しさんNGNG
お前もつけろ
0455デフォルトの名無しさんNGNG
>454 オマエモナー
0456デフォルトの名無しさんNGNG
>>450
これだけ情報が出てて、まだどう扱ったら良いか分からないとしたら、
ちょっと……。

保存するデータの性質なんかについて、もう少し具体的に書けば、
もう少し具体的なアドバイスが来るかもね。
0457デフォルトの名無しさんNGNG
>>446
だけど、規格を 100% 実装できてるコンパイラはほとんど無いという罠。
0458414NGNG
>456
あれこれ出た情報を手がかりにもちっと勉強して来ます。
知識が足りないと質問するのが難しいです……
0459デフォルトの名無しさんNGNG
>458
つかどんなことしたいのかも少し詳しく書け。
それしだいでどこまでじっそうするのかどうかがか割る
0460デフォルトの名無しさんNGNG
結城氏のデザパタ本で勉強中ですがbuilderパターンとabstract factoryパターンが理解できません。。。
0461デフォルトの名無しさんNGNG
>>460
factoryが分かってんなら,abstract factoryは難しく無いと思うが....
0462デフォルトの名無しさんNGNG
いまだにそんな糞本読んでる香具師いるのな
0463デフォルトの名無しさんNGNG
すでに古典の域に入っている
でも古典イイ!
0464デフォルトの名無しさんNGNG
読んだけどはっきりいって厨用
0465デフォルトの名無しさんNGNG
丁寧に書いてあったり、わかりやすかったりしたら、
なんでも厨用だと思う人ってよくいるよね

結城の本は確かに厨用だと思うけど
0466デフォルトの名無しさんNGNG
厨用 = 厨しか感心できない低レベル
0467デフォルトの名無しさんNGNG
NGワード:厨
0468デフォルトの名無しさんNGNG
>>462 >>464-466
なに!今さっき1時間前に買ってきた漏れって一体・・・。
日立SKの研究所だかが出してる奴もあったんだけど、迷いに迷って結城のにしてみたんだけど
どの本がいいの?またはネットで探す?
0469デフォルトの名無しさんNGNG
>>468
具体的な一例を挙げて解説してあるので、わかりやすいと思う。
ただ、それ一冊では満足できないんじゃないかな。
0470デフォルトの名無しさんNGNG
>>468
あんたの勘が良ければ、それだけでも割とOK。
でもまあ、凡人ならそれを読んでからGOFを読め。
いきなりGOFではつらかろう。
0471デフォルトの名無しさんNGNG
>>466
ならてめーには厨時代は無かったのかよ!!!!!!!!!!
0472463NGNG
ごめんGOFと間違えた
0473デフォルトの名無しさんNGNG
>>471
無かった。マニュアルだけで言語を覚え、他人のプログラムを読んでプログラミングを覚え。
昔は厨だったら使いものになりようがなかった。
0474デフォルトの名無しさんNGNG
普通の人生
精子 -> 赤ちゃん -> 子供 -> 大人

>>473の人生
精子 -> 大人
0475デフォルトの名無しさんNGNG
>>470
次に読むオススメの本はありますか?
0476デフォルトの名無しさんNGNG
>>475
定番だと、リファクタリングかな。もう読んだ?
0477デフォルトの名無しさんNGNG
>>473
酷い記憶力だね,健忘症かもよ。
0478デフォルトの名無しさんNGNG
>>475
デザインパターンにこだわるなら、
結城の本→(独習デザインパターン)→GOFって順番がお勧め。
結城のあとにGOFを読んで、難しければ独習デザインパターンを買えばいい。

あとは>>476も挙げてるけど、リファクタリングとかテスト駆動開発入門かなあ。
後者は訳が腐ってるけど。

そこそこ分かるようになったら、「アジャイルソフトウェア開発の奥義」が超お勧め。
これは買え。そして読め。名著だ。すばらしい。

ちなみに俺はXPの本はまともに読んだ事がないのでその点は留意してくれ。
0479デフォルトの名無しさんNGNG
ジャバって簡単にエディタやワープロが作れるらしいですね。
文字一つ一つがオブジェクトで色や大きさ位置といった属性を持たせるそうです。
そのときに使うのがフローレイアウト。
多くの書籍でそう紹介されています。
大笑いですが、便利そうですね。藁
0480デフォルトの名無しさんNGNG
>>479
あんたアホ?理論的に合理的な設計手法だよ。デザインパターンくらい勉強しろよ。
0481デフォルトの名無しさんNGNG
>>480
追記しとくと、ふつーは一文字一文字に情報を持たせると重複が多くなるので
もう少し工夫する。それもデザパタのカタログにあるけど。
0482デフォルトの名無しさんNGNG
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797327030/ref=ase_javanomichi-22/249-4251103-3156367
結城氏のデザパタ本は改訂されていたのか。GOF以外のパターンも追加されたのかな?

ttp://www.amazon.co.jp/exec/obidos/ASIN/4797311126/ref=pd_bxgy_text_1/249-4251103-3156367
GOF本
0483デフォルトの名無しさんNGNG
バカとハサミは使いよう
0484デフォルトの名無しさんNGNG
>>473
>昔は厨だったら使いものになりようがなかった。

言い換えると、今は誰でも理解できる分かりやすい入門書がある。
よって結城氏の入門書は過去には存在しなかったほどの分かりやすい本である。
473 は結城氏の入門書を褒めてるんだね。


0485デフォルトの名無しさんNGNG
>>480
デザパタは理論的に合理的。

ってのが笑いどころですよね?
0486468NGNG
結城本(改訂版)買った者です。
当方、厨(デザパタ無知)なのですが、わかりやすくて非常にいいです。入門にはかなりよい本なのではないかと。
ただ、>>460が言うように Abstract Factory の章がわかりにくかった。サンプルコードが悪かったような。

>>469
たしかに。初歩は理解できたのでもう少し高度な使い方が知りたいところ。

>>470
うぃっす。先生。さっそく読んでみます。

>>482
中身を見直して、わかりやすくしたみたい。パターンの追加はなしです。
0487デフォルトの名無しさんNGNG
読むならGOFとアジャイルソフトウェア開発の奥義
あたりで十分な希ガス
0488デフォルトの名無しさんNGNG
リファクタリングも外せない。
0489デフォルトの名無しさんNGNG
解読不能なコーディングをして「正しく動くことを確認しました。問題ありません。(何が悪いんですか?)」
言うヤツばっかりの職場でデザパタを浸透させるにはどうすればいいでしょうか。
0490デフォルトの名無しさんNGNG
>>489
そんな職場にデザパタ持ち込んだら、489以外の人にとって解読不能なソースができると思うぞ。
いきなりパターンの前に、その前の知識から浸透させた方がよいかと。苦難の道だけど。

もしくは、リファクタリングテクニックとして教えるとか。例えば、
「ほら、ここに重複しているコードがあるだろ。こういうのは、
こうやってこうやると・・・ほら、1箇所にまとまった。
これから似たようなコード書く時は、このクラスを継承して使うといいよ。
こうすれば簡単に作れるでしょ?コピペもしなくていいし。
ちなみにこういうのはTemplate Methodパターンと呼ばれていてね・・・」
みたいな感じで。
0491デフォルトの名無しさんNGNG
>>490
muri
0492デフォルトの名無しさんNGNG
>>489
デザパタ云々以前に相互にメンテナンスさせたら?
それでお互いのソースが彼らにとってメンテナンスし易いのなら
異物は貴方だけということだ。
0493デフォルトの名無しさんNGNG
動いてるソースにケチつけて弄くりまわしてバグ仕込み
リファクタリングだとかいって得意になってる給料泥棒はJava厨だけ
0494デフォルトの名無しさんNGNG
>>493
釣?
0495デフォルトの名無しさんNGNG
>>489
解読不能なコードの内容による。

単に読み手の知識が足りない為に「これは解読不能で
汚いソースだ」と評価される事が結構ある。
0496デフォルトの名無しさんNGNG
>>495
デザインパターンを知ってるというと、うちの職場じゃトップクラスだ。
そのトップクラスが解読不能だと言うほど高度なコードを書くかな。
もしそうなら羨ましい限りだ。
0497デフォルトの名無しさんNGNG
>>489
「(何が悪いんですか?)」
に対して
「これこれこうだから悪いんです。こうして下さい。」
という仕組みを作る。
デザパタとは全然関係無い。
0498デフォルトの名無しさんNGNG
>489
デザパタでやるとこんなにすばらしいんだよというのを納得させなさい.
0499デフォルトの名無しさんNGNG
>>495
だから問題なんだよな。
デザパタでかかれたソースが「解読不能で汚いソース」扱いされて、
圧倒的多数でデザパタ知ってるやつが負けるんだから。

0500デフォルトの名無しさんNGNG
>>487-488
リーンなんたらってのは?
0501デフォルトの名無しさんNGNG
デザパタ以前に、上の人間にオブジェクト指向を徹底的に嫌っている
のが多いから、オブジェクト指向の良さの説明から始めなきゃならない。
全く同じようなコードを、コピーしまくったり、一時変数や静的変数が星の
数のようにあったり、何百行のメソッドがそこらにあったり。
そういうのが読みやすいコードと胸張って言われたら、反論のしようが
ないよ。
0502デフォルトの名無しさんNGNG
どんなもの創ってるんです?
うちは金融系だったけど作る人が若手だけで全員オブジェクト指向バリバリだったからそういうのはなかったな.
0503デフォルトの名無しさんNGNG
おまえらとだったら仕事したいわ。
うちの会社はもうだめだ。だめすぎる。
0504デフォルトの名無しさんNGNG
>>501
この業界に限らず、理解出来ないものには攻撃的になる人間は
結構多いらしい。

>>502
正直うらやましい。
レベルの高い職場に就けるのは、レベルの高い人間だろうね。
0505デフォルトの名無しさんNGNG
>>490
関数で良いじゃん。ライブラリ作りゃいいじゃん。
厳密なオブジェクト指向よりも仕様を満たしたシステムをとにかく早く。

結局はこの辺に落ち着く。

0506デフォルトの名無しさんNGNG
>>501
>そういうのが読みやすいコードと胸張って言われたら、反論のしようがない。

事実だからな。当然だ。
0507デフォルトの名無しさんNGNG
そういう場合ヒューマンインターフェース研究で使われている様な
検証方法を使ってみたらいいかもね。
0508デフォルトの名無しさんNGNG
基本的に何かに自分で何かやらせる。他の人にお願いしたりされたりするって感じで創るんで、関数とかライブラリだけで作るのがぴんとこない.
0509デフォルトの名無しさんNGNG
>>508
俺の日本語コンパイラがfatal errorを投げてきた。
0510デフォルトの名無しさんNGNG
>>500
正式名称を教えてくれ。

>>501
クラスの分割やメソッド分割や嫌う傾向がある気がする。
だから巨大なクラスやメソッドができる。
メソッドのコールが少ない方がよいらしい。
処理の流れを追っかける、という観点だけでみてるうちは納得してくれないだろう。

>>502
紹介してくれ。薄給でいいから。

>>503
ここ眺めてると、なんでデザインパターンを知ってる奴が
こんなに居るんだろう?と思うよな。俺の周りにはほとんど居ない。
0511デフォルトの名無しさんNGNG
>>505
そんな感じで作られたシステムの保守でウンザリしてる。
0512デフォルトの名無しさんNGNG
結局従来の構造化が向いてる分野もあればOOが向いてる分野もある。
適材適所。

無理にOOを提唱して過去の資産を敢えて使わず新規開発したバグだらけのコードを
徹夜で試験するのが良い考えかと言えば・・・君たちにも分かるだろう。
0513デフォルトの名無しさんNGNG
>>511
OOだと三倍うんざりするよ。

この糞クラスのインスタンスはどっから沸いた?
おいおい!こいつもまたサブクラスだよ!!いつになったら親クラスが見つかるんだ?
おーい。。。このメソッドprivateだと困るんだが・・・・え?基底クラスから変更?試験やり直しかよ?
0514デフォルトの名無しさんNGNG
>>512
同意。なんでも盲信はイクナイ

0515デフォルトの名無しさんNGNG
関数型を忘れてませんか
0516デフォルトの名無しさんNGNG
>513
ごめんそれ正直設計が糞だと思う...
0517デフォルトの名無しさんNGNG
オブジェクト指向では実装よりも設計に時間をかけるもの。
0518デフォルトの名無しさんNGNG
>>517
構造化でも然り。と言うかソフトウェア工学的にそれ常識。
今更胸を張って言われても困る。
0519デフォルトの名無しさんNGNG
デザパタで書かれたコードを理解してない時に読んだ時は、なんじゃこのわけわからん設計はアホか。とか思ったけど、
デザパタを理解してから読むと、おお、なにこれ素晴らしい。天才?とか思えた。

つまり、なにが言いたいかというとデザパタの良さを知らない奴にがんばって普及運動をしても無駄だと思う。
なんじゃこのわけわからん設計はアホか。と思われるのが落ちかと。
デザパタは確かに素晴らしいけど、無理に普及はイクナイと思われ。

>>509
おまえ、うまいこと言うな
0520508NGNG
(・ω・)ショボーン... いいたいのはサブシステムにわけて各々に自主性もたせて他の人のことは知らないようにするってことだったのでふ...
0521デフォルトの名無しさんNGNG
http://se.aist-nara.ac.jp/papers/IPSJ-MGN450713.pdf
0522デフォルトの名無しさんNGNG
オブジェクト指向をすべての開発案件に適用しようってのは
無理があるんじゃないか?
じゃあ、オブジェクト指向が適さない案件ってどんなのがあるのさ?>教えてエロい人
0523デフォルトの名無しさんNGNG
>>516
設計が糞な構造化と設計が糞なOOとどっちがましだと思う?
俺はまだ構造化の方がましだと思う。
そして俺の職場では必ず設計が糞だ。
だから構造化の方がましだと思う。
0524デフォルトの名無しさんNGNG
>523
ウンコとげろとどっち食べるっていわれてもなー
0525デフォルトの名無しさんNGNG
Java厨の被害妄想って惨いな。
自分は実力があると勘違いしてるのが学習能力欠如の原因だろうな。
引き籠もりくらいしか生きていく術がなさそうだ。
0526デフォルトの名無しさんNGNG
>>524
どっちも嫌っていうのが無しなら、げろを食べるな。

>>525
極端なアンチJava厨もわりとひどいよね。
0527デフォルトの名無しさんNGNG
Java厨叩きしか能が無い厨はいいかげん死んでくれんか?

しかも特にJavaの話は出てないのに、なんでお前はチョロチョロ湧き出てくるの?普通にウザイ
0528デフォルトの名無しさんNGNG
有能な香具師なら、デザインパターンの学習にかかる時間は、多分1週間程度というところだろう。
その程度で、次々といろいろな知識を身につけていけば、デザインパターンは1つの手法に過ぎず、
「デザインパターン最高!」みたいな、無能をさらけ出さずにすむんだろうが。
死にものぐるいで必死こいて、デザインパターンをやっと覚えたアホは、自分は有能だとか、
デザインパターン書いた香具師は天才だとか、逝わずにはいられないんだろうか?
そんな勘違い馬鹿が入れる会社の同僚は、似たり寄ったりの無能ばかりで、
デザインパターンくらいしか知識がない勘違い君を、同じように無能だと逝っているんだろうな。
目糞鼻糞なのに。
0529デフォルトの名無しさんNGNG
>525
そうだね.君を見てるとそう思うよ.
0530デフォルトの名無しさんNGNG
Java厨じゃない折れは、全然頭にこないな。余裕でスルー。
0531デフォルトの名無しさんNGNG
JAVA厨の勘違いなんて
今に始まった事じゃないでしょうにねぇ
0532デフォルトの名無しさんNGNG
>>528
(・∀・)クスッ
0533デフォルトの名無しさんNGNG
>>528
お前は目糞と鼻糞のどっちなの?
0534デフォルトの名無しさんNGNG
>528
ま、でもデザパタに合わせて物創ることはないよな.
あれは必要な考え方学ぶだけでしょ。あとはたまにドンなんだったっけと見直すぐらい.
0535デフォルトの名無しさんNGNG
厨は、自分を厨だと自己分析できるスキルがないから、困るんだよね。
ある程度のスキルがあれば、デザパタにあわせて設計とかいわないよな。
設計してみたら、あのパターンとこのパターンの変形が、あそこで使われてたみたいなことはあるけどさ。
0536デフォルトの名無しさんNGNG
ほ〜ら、厨厨言ってたら ねずみさん になっちゃうぞ〜
0537デフォルトの名無しさんNGNG
今までボウと読んでた...orz 逝って来る....
0538デフォルトの名無しさんNGNG
こっこに書いてるやつは、威勢のいいのは偏差値の低いガッコのなかだけってかんじ?
社会で通用してるとは、とても思えないんだけど。(無職引き籠もり?)
0539デフォルトの名無しさんNGNG
>>538
筑波大学だが、うらやましいだろ
0540デフォルトの名無しさんNGNG
>539
この間筑波いったが寂しいところだ...
自殺者が出るのもよくわかる
0541デフォルトの名無しさんNGNG
このスレ住人的にはソフトウェアパターンはどうなのよ?
0542デフォルトの名無しさんNGNG
有用。プログラマの嗜み
0543デフォルトの名無しさんNGNG
>>528
勘違い君でも、彼なりにやる気があるからまだいい。
やる気の無いやつ、覚える気のないやつばかりが集まった中でどう開発しろと。
会社辞めるぞ。(思うだけ。ゲロゲロ)
0544デフォルトの名無しさんNGNG
>>543
技術力が評価につながらない人事システムだとやる気にはならないだろうね。
うちがそうなんだが。だから、同僚にも勉強しろとは言いづらい。
勉強してもいい事無いから。
俺なんて技術力を付けたばっかりに、周りのダメっぷりにイライラするようになっちゃったし。
こんなことならボンクラのままだった方が良かったよ。
0545デフォルトの名無しさんNGNG
技術が要らないのに金が貰えるなんて夢のような職場ですね
0546デフォルトの名無しさんNGNG
ごり押しも技術のひとつですが何か。

製品を完成させる事だけが正義。
0547デフォルトの名無しさんNGNG
>>546
ある意味真。

デザインパターンと言う高尚な考え方を導入しようとしているので明日の納期2ヶ月伸ばしてくれませんか?

とかもう見て欄内。
0548デフォルトの名無しさんNGNG
>>547
いくらなんでも納期の前日に交渉する奴は居ないと思うが……。いるのか?
0549デフォルトの名無しさんNGNG
>>547
そんな理由を客に述べてるんなら、それはそいつが馬鹿なだけだ。
技術以前の問題だな。

納期ではないが、オブジェクト指向の利点を客に語りたいなら、
初期費用は高いが保守費用は安い、とかそういう表現をするもんだ。
0550デフォルトの名無しさんNGNG
>>549
そのようなことは道徳的に誤っている。
0551デフォルトの名無しさんNGNG
>>549
実際、年間の保守契約料金を安く出来ないなら、詭弁であり詐欺である。
0552デフォルトの名無しさんNGNG
保守で稼ごうぜ、ただでさえモチベーションさがる仕事なんだしよう。
0553デフォルトの名無しさんNGNG
>>550
客と話すときは、システムを作る側ではなく、客の視点で語れと言っているのだ。
関係ないが、保守が安くならないって前提なのな、君。
0554デフォルトの名無しさんNGNG
人に言われて作るプログラミングほどモチベーション下がるものはないな...
0555デフォルトの名無しさんNGNG
>>554
学生さん?
0556デフォルトの名無しさんNGNG
こういうイタいスレ展開はマ板でやれよ
0557デフォルトの名無しさんNGNG
んにゃ。パッケージメイン
0558デフォルトの名無しさんNGNG
デザインパターン導入の真のメリットって,
共通タームを使うことによる,設計フェーズにおけるコミュニケーション精度の向上くらいかなあ。
0559デフォルトの名無しさんNGNG
まあ,一種のカルチャーだから,知らないと恥ずかしいくらいのデメリットしかないかもね。
0560デフォルトの名無しさんNGNG
一人だけ知らないと村八分にされるし,
一人だけ知ってても村八分にされる。
それだけの話。
0561デフォルトの名無しさんNGNG
デザインパターンの導入というか、オブジェクトの設計するとああなるんでないの?
0562デフォルトの名無しさんNGNG
デザインパターンを「導入」するって時点で、何か間違ってると思うぞ。
アルゴリズムだって「導入」はしねーべ。
0563デフォルトの名無しさんNGNG
>>558
真のメリットはコーディングの再利用以上に、設計の再利用。
GOF本の序章に書いてあったかな。しかしGOF本の序章は
デザパタを賛美しすぎてデザパタに対する誤解、過剰な期待をする原因でもあると思う。
本当に良いものなんだから自画自賛する必要は全く無いのに。
0564デフォルトの名無しさんNGNG
基礎知識に導入も糞もないよな
導入とか逝ってる時点でイタイ
0565デフォルトの名無しさんNGNG
>>563 自己分析乙
0566デフォルトの名無しさんNGNG
>>564
一人だけ知ってても村八分にされる。
0567デフォルトの名無しさんNGNG
>566
デザパタも知らないソフトハウスやばくね?
0568デフォルトの名無しさんNGNG
・・・と言う事を学生や玄人気取りの引きこもりはよく言うわけです。
0569デフォルトの名無しさんNGNG
>>567
そんな事逝ったら、うちの会社はどうなっちゃうのよ?お?
0570デフォルトの名無しさんNGNG
結城氏の本、俺はだめだ。
きっちりした感じがだめだ。
0571デフォルトの名無しさんNGNG
日立の本はどうよ。これも入門書としていいぞ。
0572デフォルトの名無しさんNGNG
デザインパターン以前に、オブジェクト指向を知らないソフト会社とか
いっぱいあるでよ。
0573デフォルトの名無しさんNGNG
>>572
構造化を理解してないところも...orz
0574デフォルトの名無しさんNGNG
>>573
まあ、PHPやVBなら何とかなるけどな。
0575デフォルトの名無しさんNGNG
Delphiもなんとかなったようだどー

もう保守いや
0576デフォルトの名無しさんNGNG
VBの部署を手伝ったときに、サブルーチンや関数なんかはほとんど作らずに
イベントハンドラにコピペコピペで何百行もコードを書いてる先輩から、
「お前のコードはあちこち飛んで見にくい」と叱られたことがあるよ。
0577デフォルトの名無しさんNGNG
ドキュメントちゃんとしろよ
0578デフォルトの名無しさんNGNG
>>576
かわいそう…
0579575NGNG
>>576
おお、言語が違えど全く同じ。

DelphiをVisual Pascalとしてしか
つかっとらんのでコピペだらけでもう。
0580デフォルトの名無しさんNGNG
>>579
羽津かしながら、Delphiでコピペ三昧の経験あり

コピペ前提でスケジューリング。常に時間に追われているって事もあるし
周りがコピペしてると、自分だけ別のことできない。コードの整合性。仲間受けの問題
とにかく全体的な設計が無いから、デザパタなんて怖くて使えない。意味が無い・・・

まあ要するに会社のレベルは超えられない・超えてはならないつー事。
さくっと転職しました。
0581575NGNG
>>580
お察し致します。
他の人がいると、なかなか一人で良い事出来ないですよね。
頭の人が音頭取っていっちょやろうぜっていってくれると
いいけど、頭の人は新しい事やりたがらないし。

俺は出向先での話だから(といっても何年もいっぱなし)
自社に帰ってから小さ目の案件で羽を伸ばせました。
0582デフォルトの名無しさんNGNG
転職パターンのコンクリートカキコミがいっぱい。
0583デフォルトの名無しさんNGNG
>>580
そういうコードばかり書かされて、自己嫌悪の日々です。

言われない限りは、こっちの好きにやらせてもらうけど、
バレたら即書き直し。
無駄な努力かな?
0584デフォルトの名無しさんNGNG
>>583
非常に同情するが、バレなくても腐れコードを書け。
おまえ以外だれも保守できないコードを書いても意味がない。
おまえのせいで組織全体のパフォーマンスが落ちる。
勝手なまねをするな。それがサラリーマンだ。
0585デフォルトの名無しさんNGNG
>>583
>バレたら即書き直し。
この時点で無意味だろ。
賽の河原で石を積むのが生産的な作業か?

反逆者になりたくない?
では、革命家になりたまえ。
0586デフォルトの名無しさんNGNG
>>580
プログラムを外注に委託するとこんなコードばかりが納品される。
外注業者は全部こんなもん?
0587580NGNG
>>586
元請けだけどこんなもん

>>585
> では、革命家になりたまえ。
革命家は派手だが、どこかで命を落とすよ。

(別の会社の話・愚痴)
頭の人というか、少し階級が上がった時、OO良いよ。デザパタ使おうよ
運動を実施した。作業効率UP。社内革命。喜ばれた。

が、振り返れば、皆おんぶにだっこ。漏れが作った物・考えた事使っているだけ。
上司からは、すごいね〜と褒められたけど、給料上がらず、ノルマあっぷ。

新人は、ぜひ教えてくださいと熱心だが、教えてもらうの当然って感じ。
授業料払って無いくせに・・・その上、転職を企んでいる。

で、OO・デザパタ導入なんだが、所詮は今回も会社のレベルに合わせた妥協の産物。
これ以上やるには、さらに上流の設計が重要。ツールも買ってもらわんと・・・

で、上の人と相談するが、話が噛み合わず・・・微妙に逆鱗に触れたらしい。
周りに気を使って、プライドを傷つけず、楽をさせ、手取り足取り教え、
成果を出し、整合性も考え、浮かないようにしたけど、やっぱり駄目。

その上、別件事件発生で、社内ごちゃごちゃ。無理な任務。命の危険が・・・
革命家は断頭台の送られる前に、逃げ出しましたとさ。
0588デフォルトの名無しさんNGNG
夢想家が作り話を語るスレですか?
0589デフォルトの名無しさんNGNG
おまえら基本が分かってない。

生産性を上げたって社員にはメリットがありませんよ。
0590デフォルトの名無しさんNGNG
生産性が上がらんと、メリット以前に会社無くなるけどな。
0591デフォルトの名無しさんNGNG
無駄な保守とかトラブルとかかかわらんでいいならいいがそでないなら自衛のためにやっておけ
0592デフォルトの名無しさんNGNG
>>590
そういう緊張感があればいいんだろうがな。
何やったって潰れないくらい経営的にはしっかりしてる。
その分だけ給料が安いけどな。

>>591
俺一人きちんとしてたって意味ないもの。プロジェクトだから。
料理の鉄人1名+凡人10名+林真須美1名でカレー作ったって食えないじゃん?

あと余談だが、デスマーチの発生に生産性はあまり関係がない。
営業とか管理がでかいな。
0593デフォルトの名無しさんNGNG
>>592
プロジェクトに林真須美が居ればスリルあるだろうなあ。
ニセの仕事でも与えてんの?
0594デフォルトの名無しさんNGNG
>592
何つーかおまい負け犬の発想してるな
0595デフォルトの名無しさんNGNG
>>594
うむ。二戦二敗だからな。手に負えない。
夢とか希望を抱いてるなら羨ましいよ。

ちなみに無能でかつ学習する気がない連中が相手だ。
そして技術力を身につけても良い事がない職場だ。
何とかするコツがあったら教えてくれ。
0596デフォルトの名無しさんNGNG
よい環境に動け
0597デフォルトの名無しさんNGNG
>>596
協力会社やってるからさ、他の会社の人たちも一緒に仕事するんだけど、
どこの会社も似たようなものじゃないの?

業界が腐ってる気がするんだけど。
0598デフォルトの名無しさんNGNG
高度なものを作ってる会社はいくらでもあるぞ?
SI企業はどうかしらん。
0599デフォルトの名無しさんNGNG
>>598
例えばどんなところ?
正直想像がつかない。鬱だ。
0600デフォルトの名無しさんNGNG
>>599
同意。オレも想像つかない。

コンサルティング会社が入って体質改善できた実例も実際は聞いたことが1つも無い。
(文献はよく読むけど。)
0601デフォルトの名無しさんNGNG
>>599
Microsoft とか EA あたりどうよ?
0602デフォルトの名無しさんNGNG
金融系ならシンプレクステクノロジ。
実情はしらんがMAYA作ってるところなんかどうだ?
0603デフォルトの名無しさんNGNG
>>602
Maya といや、対応するビデオカード作ってるメーカーの方もスゴいわな。
設計に使ってる CAD システムとか、面白そうだ。
0604デフォルトの名無しさんNGNG
アジャイルスレって無いのな。
0605デフォルトの名無しさんNGNG
協調性がないのは社会人として問題。
0606デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1091773629/
【XP】Agile Process 第2イテレーション【UP】
0607デフォルトの名無しさんNGNG
事なかれな協調性なんかイラネ
奴隷帰れ
0608デフォルトの名無しさんNGNG
>>607
チーム開発なんて糞食らえなフリー学生がうらやましいっす。
0609デフォルトの名無しさんNGNG
もめてでも改革しろよボケ。うちはケンかしょっちゅうやってるぞ
0610夢のない男2号(!608)NGNG
>>609
それ人間関係に疲れないか?
そんなことで意思疎通がしづらくなって、仕事の能率が悪くなるのなんて嫌だし。
もう漏れは会社は給料もらうところだと割り切ってるよ
0611デフォルトの名無しさんNGNG
けんかするのは技術的な話だからな。
製品の売上と給料ほぼ直結してるからみな気合は言ってる.
0612デフォルトの名無しさんNGNG
いっけん人当たりのいい事なかれ主義のヤツは
後になってから「実は・・・」取り返しの付かないのが多い。
八方美人。最悪。
0613デフォルトの名無しさんNGNG
実は・・・すら言えない我が校の石像>>612がご迷惑をおかけしました。
こいつが就職率100%の名に泥を塗りそうで困っております。
0614デフォルトの名無しさんNGNG
意味不明な輪が請うの石造>>613がご迷惑をおかけしました。
コイツが就職率100%のナニ泥を塗りそうで篭っております
0615デフォルトの名無しさんNGNG
OK、俺が会社立てるわ
入社資格を持つのはここの連中だけな

最初は給料でないよ?
0616デフォルトの名無しさんNGNG
>>615
そして2日後に解散。
0617デフォルトの名無しさんNGNG
デザパタすれで、こんな事いうのも何だが
正直、技術力磨いても、あんまり意味無いよ。

IT長者見たって、技術者は居ないでしょ?
営業系の人ばっかり。

勉強=技術者の良心・楽しみ・自己満足。
0618デフォルトの名無しさんNGNG
>>617
ばりばりの技術者ならこういうだろう

金儲けのためにやってるんじゃない
0619デフォルトの名無しさんNGNG
>>618
二秒でクビだな。
0620デフォルトの名無しさんNGNG
>>619
クビどころか重用される
0621デフォルトの名無しさんNGNG
>>620
誰にも読めないコードを書くんだから、嫌われるに決まってるじゃん。
0622デフォルトの名無しさんNGNG
>>621
確かに誰にも読めないコードを書くと嫌われるということはわかる

けど、いまいち話のつながりがわからないだけど…
0623デフォルトの名無しさんNGNG
>>618
0の状態から新しいモノを作るならそれでよい。
結局どうやってもできるもんに他人の受け売りの技術を使いたいと。

うふふ。
0624デフォルトの名無しさんNGNG
>>622
一人だけ高度な技術を駆使してソースを書いても、
その他の連中は無能だから読めないので嫌われるという意味。
技術者の自己満足とか評されるのもこのタイプ。
自分に何が求められているのか分かってないのだな。

誰にでも保守のできるコピペまみれの腐ったコードの方が、
高度な技術を駆使した誰にも読めない素晴らしいコードよりも、
会社にとって価値のあるコードだ。

全社員が無能でなくなればよいのだが、無理だろうな。
0625デフォルトの名無しさんNGNG
でも傷つかぬように嘘は繰り返される
0626デフォルトの名無しさんNGNG
>>624
デザパタが手放しでよい方法かと言われるとそれはそれで疑問な訳で。

かつて同じように鳴り物入りで出てきた技術はごまんとある。

て言うか技術なんて大層なもんでないっしょ?これ。
タダの手法。

事の本質は客を幸せにして会社の利益を追求すること。

そのために何をすればいいのかなんて本の上の理想論なんぞと一致するとは限らない。

それをはき違えている方々が一杯いると。


0627デフォルトの名無しさんNGNG
>>624
デザインパターンも高度な技術だとでも?
これは技術というよりも設計の定石のようなものであって、
保守性を高めるためのものであるから、
どこから引っ張ってきたのか解からないようなコピペの羅列を見せられるよりは
ましだと思うけどね。
それに、きちんと設計したものにはきちんとしたドキュメントも添えるのが
当り前だし、高度なアルゴリズムを実装したとしても、設計で分割され、
部分部分は非常に単純になる。
0628デフォルトの名無しさんNGNG
>>627
構造化指向入門ありがとうございました。
0629デフォルトの名無しさんNGNG
>>624
その前にコピペまみれの腐ったコードって今時あるのか?
うちの会社はそれほど良くもないけどコピペまみれのコードってのはないよ。
会社変えたら?
0630デフォルトの名無しさんNGNG
逆にコピペまみれで動くって事はしっかりモジュール化されてるって事では?
0631デフォルトの名無しさんNGNG
とりあえず、本題に戻して。

結城ヒロスィィの本は読み終わったので今度は「独習デザインパターン」って本を買ってきました。
GOFは見てみたけど、でかい上に字が小さくて、1ページ読むのも大変そうだったのでやめました。
日立の奴も買って全部、評価してやるぜぃ。
0632デフォルトの名無しさんNGNG
>>631
本買う前に物事の本質を見ろ。
0633デフォルトの名無しさんNGNG
こういうやつが厄介なんだよな
0634631NGNG
>>632の言う物事の本質って?例えば?
0635デフォルトの名無しさんNGNG
>>634
本の質。

装丁は丁寧か?
上質紙か否か?
フォントは美しいか?
でかい上に字が小さくて、1ページ読むのも大変そうではないか?
0636デフォルトの名無しさんNGNG
>631
おまい本読んだだけじゃ意味ないんだぞ.理解してるのか?
0637624NGNG
>>627
デザインパターンなんてもう、超高度だよ。
俺の周りは継承がむずかしいとか、ポリモーフィズムが分からないとか、
そういうレベルだからね。勉強しないのが原因だと思うんだけど。

ちなみに俺は誰でも読めるように、あえて腐れコードを書いてる。
ってことは折角身につけた技術が無駄になってる事じゃん?
人にも勉強しろとは言えないよ。無駄に終わるのに。

>どこから引っ張ってきたのか解からないようなコピペの羅列を見せられるよりは
>ましだと思うけどね。

これには同意できない。
やってる事が分かるコピペの羅列の方が、ほとんどの奴が理解できない
綺麗なコードよりマシ。読めないコードに価値はないよ。

>>629
コピペまみれってのはちょっと誇張があった。すまん。でも腐ってるよ。
いろんな会社の人が作ったコードを見たけど、まともなのは無かったな。
たぶん、各社一名くらいは趣味で技術を覚えたまともな人がいると思うんだけど、
その他の奴が無茶苦茶にしてるんだと思う。

>>630
別にしっかり動いてないもの。一見動いてるだけ。
0638デフォルトの名無しさんNGNG
>>636
本読んで物作って誰かの役に立って改良して末永く誰かの役に立つ!

これだよね(キラーン)
0639デフォルトの名無しさんNGNG
>>637
なんか小さい人間だなぁ。とだけ。
0640デフォルトの名無しさんNGNG
>>639
大物とお見受けしました。
現状を打破する知恵をお授けください。
0641デフォルトの名無しさんNGNG
>たぶん、各社一名くらいは趣味で技術を覚えたまともな人がいると思うんだけど、

どこにでもいるんだよな・・・技術ヲタ。

0642デフォルトの名無しさんNGNG
>>639
ちなみに今のところ、誰にでも読めるコードを書く事によって、
組織としてのパフォーマンスを最大にする事を目標にしております。
0643デフォルトの名無しさんNGNG
>>642
それで正解。企業の目的は営利の追求と社会の発展だ。
趣味の昇華は余所でやればよい。
0644デフォルトの名無しさんNGNG
つかおまいらどんなもの作ってるの?
0645デフォルトの名無しさんNGNG
プログラミングは趣味でやるのが最良かと
0646デフォルトの名無しさんNGNG
話にならないな。
技術の進歩もなにもあったものじゃない。
0647デフォルトの名無しさんNGNG
>>646
協調性のないヲタ社員。

て言うかお前学生だろ。
0648デフォルトの名無しさんNGNG
>>646
>技術の進歩もなにもあったものじゃない。

それはなにも無いところから何かを生み出した人のセリフです。
それは通常企業の至上命題ではありません。

今からでもそう言うのに理解のある幹部のいる会社に行けばどうだ?
陶器の形を変えるより望みの形の陶器を探す方が簡単だぞ?

0649デフォルトの名無しさんNGNG
妙に負の方向に悟った奴らウゼェ

自分の糞会社を基準に物事を考えるな
0650デフォルトの名無しさんNGNG
なんかまた極端な論理展開の応酬が…
業務の効率の改善につながる技術があるとしたら採用を検討してみたりするもんだろ普通は。
普通のことができにくい業界ではあるけどさ。
0651デフォルトの名無しさんNGNG
>業務の効率の改善につながる技術があるとしたら採用を検討してみたりするもんだろ普通は。

皆の中で検討した結果葬られたから上がってこないのでしょう。
0652デフォルトの名無しさんNGNG
>>649
その糞会社で悶々としてるのはお前では?
0653デフォルトの名無しさんNGNG
>>652
会社では悶々としてないな

こういう系のスレを、お前らのようなバカがみんな糞スレにしてくれる

そんな糞スレで悶々しているのがオレだ
0654デフォルトの名無しさんNGNG
もうこのスレは見てもプラスにはならないな、と思いつつ見てしまいました。
おかあさんごめんなさい
0655句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx. NGNG
>>653
0656631NGNG
協調性うんぬんの前にここはデザインパターンを語るスレなのでは?
確かに会社では協調性のあるコードを他人にわかりやすいコードを重視するべきだが、
ここはそんなものを無視して、デザインパターンについてお勉強するスレだと思うのだが。

>>635
不覚にもワラタ

>>636
自分では理解できてると思ってます(´∀`;)ゞ
0657デフォルトの名無しさんNGNG
>>656
じゃあまず会社で云々とか言い出した奴を糾弾すべきでは?
0658デフォルトの名無しさんNGNG
>>650
>業務の効率の改善につながる技術があるとしたら採用を検討してみたりするもんだろ普通は。
で、問題になっているのは大抵小手先のテクでは無くて要件定義そのものだったと。
兵器の性能向上(+兵隊の練度)だけでは戦闘には勝てるだろうが戦争には勝てないよなぁ。
0659デフォルトの名無しさんNGNG
>>655
ハァ?

>こういう系のスレを、お

字も読めない池沼か。もう死ねよ
0660デフォルトの名無しさんNGNG
これ以上はマ板行け
0661デフォルトの名無しさんNGNG
>>660
お前がな。
0662631NGNG
>>657
糾弾するスレでもないからもういいんじゃないか。
トイレットペーパーのようにさっとふき取って水に流そうや。
0663636NGNG
>656
んにゃデザインパターンを適用するのにトラブルあるってことでこういう話題もいいのでは.

んー本読むの楽しいんだけどそうすると段々自分で物事考えなくなるんで...その境目が難しい...
0664デフォルトの名無しさんNGNG
次からスレタイ

  デザバタ盲信教

にしてくれ
0665631NGNG
>>663
おお、それもそうですね。
どういった状況で適用すべきか。というのも確かに有益な情報。
とりあえず、上の展開を見ると業務系の開発ではあまり使わない方がよさそう。
0666デフォルトの名無しさんNGNG
>>665
使わない方がよいのではなくて、使おうとするのが困難。
0667636NGNG
ぶっちゃけ業務系とかで必要ないなら無理に使うことないんでね.構造化でもいいじゃない.
自分は慣れてるので使うけど。コピペは許さんが。ありえん。
0668デフォルトの名無しさんNGNG
>>664
お前はアンチデザパタスレやアンチOOスレでも立てて、
そこでお前の会社がいかに糞かを主張しててくれや。
0669デフォルトの名無しさんNGNG
めづらしく書き込みが、と思ったら
荒らしが湧いたのか…orz
0670デフォルトの名無しさんNGNG
ペアプログラミングを取り入れましょうと言って来たヤツが居たので余裕で無視。オレは忙しいんだ。
javaを使っている部署に居る同僚がうやらましくてコードを見せてもらったら1クラス余裕で3000行。言語は関係ないなと実感。
0671デフォルトの名無しさんNGNG
>>670
1機能1モジュールでクラスが肥大化するのは仕方ないと思われ。
肝心なのはカプセル化ですよ。中身なんてどうでも良い。
0672デフォルトの名無しさんNGNG
問題と対策はこんな感じ?

似てるんだけど、ちょっとずつ違う・・・継承
あっちに飛んだり、こっちに飛んだり・・・モジュール化
(変数を)あっちで変更、こっちで変更・・・カプセル化
この部分だけ再利用したいのよ・・・クラス細分化・モジュール化
仕様変更ドミノ倒し・・・細分化・モジュール化+融通の利く仲介クラス
0673デフォルトの名無しさんNGNG
>>672
?
0674デフォルトの名無しさんNGNG
>>672
>似てるんだけど、ちょっとずつ違う
テンプレート。その他多数のでざぱた
0675デフォルトの名無しさんNGNG
>>674
盲信してますね。
0676デフォルトの名無しさんNGNG
>>631
独習より結城本の方がレベルが高い希ガス。
0677デフォルトの名無しさんNGNG
デザパタで成功した開発事例キボンヌ
0678デフォルトの名無しさんNGNG
>>676
結城本、サンプル・コードは良いのだが、本文が駄目駄目
本文読んだら、コードの意味が分からなくなる。
0679デフォルトの名無しさんNGNG
結城本わかりやすいが。

初心者本をしっかり読んで基礎を固めないとちんぷんかんぷんというのは同意。
でも、あそこまでつっこんだハイレベルな記述してる本って他にないよな。

0680デフォルトの名無しさんNGNG
著名な元本(GOFなのか?)があると駄目という典型。
GOFマンセーな人には、馴染み易いのかもしれないが・・・

ところで、結城本の前に読むべき、初心者本って何?
0681デフォルトの名無しさんNGNG
結城本読んでないのだがGOF本とはまたちがうの?
0682デフォルトの名無しさんNGNG
>>680
一行目の日本語がどうしてもparse errorになるんだが。
0683デフォルトの名無しさんNGNG
>>680
結城本って十分初心者向きだとおもうんだけど…
0684デフォルトの名無しさんNGNG
>>680
憂鬱なプログラマのためのオブジェクト指向開発講座。
すこし古いけれどわかりやすい。
0685デフォルトの名無しさんNGNG
>>678が無能という結論に至ってしまうのでこれ以上は言及しないことにしないか?
0686デフォルトの名無しさんNGNG
デザインパターンに興味をもって、
このスレに来るようなレベルの人間なら
結城本からはじめても構わないような希ガス
0687デフォルトの名無しさんNGNG
そういえば先週まで近所の本屋にたくさん積んであった結城本が売り切れてました。
デザインパターンって結構注目されてる?
デザインパターンが当たり前の時代が来るのかねぇ。
0688デフォルトの名無しさんNGNG
>>687
邪魔だったので返本しただけです。
0689デフォルトの名無しさんNGNG
結城氏の著作はダメ発言は説得力が無いものばかり。
ページ数まで書いて具体的に言ってくれ。
0690デフォルトの名無しさんNGNG
>>689
作者乙
0691デフォルトの名無しさんNGNG
>>690
お前ソレばっかだな。具体的に言えないなら出てこないでいいから。
0692デフォルトの名無しさんNGNG
結城のキリスト教マンセーうざい
0693デフォルトの名無しさんNGNG
1000
0694デフォルトの名無しさんNGNG
>>689
うーん、例えばAbstract Factoryパターン

「抽象的な工場では、抽象的な部品を組み合わせて抽象的な製品をつくります」
「部品の具体的な実装には注目せず、インターフェース(API)に注目する」
「そして、そのインターフェース(API)だけを使って、部品を組み立てて、
製品にまとめるのです」

間違っているわけじゃないけど、分かり易くは無い。
Factory->工場・製品と例え話をしたつもりだろうが、微妙に的外れ。
0695デフォルトの名無しさんNGNG
>>694
理解力無いだけじゃないの?
0696デフォルトの名無しさんNGNG
>>695
太字以外に1ページも使って、うだうだ例え話はちょっとね。
出来の悪いコードを見ているようで、苛苛する。

ページ数水増しか?
0697デフォルトの名無しさんNGNG
「互いに関連したり依存し合うオブジェクト群を,その具象クラスを明確にせずに生成するためのインタフェースを提供する」
の方がスッキリしている。
0698デフォルトの名無しさんNGNG
>>697
じゃあ勝手に本書けよ。
0699デフォルトの名無しさんNGNG
>>698
だからさぁ。
結城本、サンプル・コードは良いのだが、本文が駄目駄目って事。
0700デフォルトの名無しさんNGNG
>>699
批評しかできないヲタ
0701デフォルトの名無しさんNGNG
>>694
同意。
あの説明では「A工場からA製品」「B工場からB製品」「C工場からC製品」と拡張しろと
言っているようにしか読めない。分かりにくいよりも明らかな間違い。
手元に本が無くて確認してないんだがオレの理解力が問題かな?突っ込み待ち。
0702デフォルトの名無しさんNGNG
685デフォルトの名無しさん[sage] 04/09/05 12:23 ID:
>>678が無能という結論に至ってしまうのでこれ以上は言及しないことにしないか?

↑
これが木に触ったのか?謝った方が良いか?
0703デフォルトの名無しさんNGNG
                               /  気  !
                           l      |
''''''''''‐-、,                        |   に  |
::::::::::::::::::::\                     |        |
:::::::::::::::::::::::::ヽ               _,,,,,,_ .|   す  |
:::::::::::::::::::::::::::::':,               ,.-''"::::::::::::`l        |
::::::::::::::::::::;ヘ::::;::i            /::::::::::::::::::::::::|   る   l
::::::::::::::::::::'、|ヽ!ヾ           /::::::::A:::;::::/!::ムli       |
:::::::::::::::::::、:'、              ,':::::::::ハ;ハ;l レ' '|ヽ  な  /
:::::::::::::::;:::| `!  ,.,.._         レi::;lV. ┃   ┃''"ム  /
::::::/l:::ハ:|,/  i ヽヘ,       '〈|         ソ'''''、
:::/ ,|/,,/    ',  l, ヽ.       l、   r一‐:、  /:::::::::::'、
/ | ''      \ 丶.ll''r、.,_   /::`':.、 ヽ--‐',.イ、::::::::::::::'、
:‐┴:、.       `i''y'l |: : : ``''ヽ‐''ヾil´`i';、''" /  >、:i、::::::',
    \       '-'、/ : : : : : : :`: : : lL,, l  /_ ,//: :\'、;::、
0704デフォルトの名無しさんNGNG
デザインパターンの話題になると、結城の本の話で盛り上がるww
実際にパターンを使うとかじゃなくてwww
0705デフォルトの名無しさんNGNG
技術の話と違って人の話は馬鹿でもできるしな。
0706デフォルトの名無しさんNGNG
と文句を言う奴に限って、碌な話題を提供できない。
0707デフォルトの名無しさんNGNG
>>677
構造化で成功した開発事例キボンヌ
0708デフォルトの名無しさんNGNG
>>696
初心者にわかりやすいだろ。
知っている人が読んだらそらいらいらして普通。
0709デフォルトの名無しさんNGNG
>>707
システムの一部分をごっそり他のシステムへ転用する時
本当に必要な部分だけ、取り出す事が出来れば、
構造化はかなり上手く行っていると思われ。
0710デフォルトの名無しさんNGNG
システムの一部分をごっそり他のシステムへ転用する時
本当に必要な部分だけ、取り出す事が出来れば、
オブジェクト指向はかなり上手く行っていると思われ。


こっちの方がしっくりくるんだが
0711デフォルトの名無しさんNGNG
>>677
Java。の標準クラスライブラリ
0712デフォルトの名無しさんNGNG
>>710
基本的には目標は同じだからね
0713デフォルトの名無しさんNGNG
つかオブジェクト指向で設計してくとおのずからデザパタ的になると思うが...
0714デフォルトの名無しさんNGNG
>>713
デザパタ知らん奴は、デザパタとは程遠い物
デザパタ知っているだけの奴は、デザパタと似ているだけの物
を作ってくれる。
0715デフォルトの名無しさんNGNG
>>711
javaはある意味成功
0716デフォルトの名無しさんNGNG
デザインパターンもいいけど、関数型のスタイルも場合によっては良いものだよ
0717デフォルトの名無しさんNGNG
>>714
>デザパタ知らん奴は、デザパタとは程遠い物
>デザパタ知っているだけの奴は、デザパタと似ているだけの物
>を作ってくれる。

GoFのはじめにを読み直せ
0718デフォルトの名無しさんNGNG
>>716
でも今更Prologとかでアプリ組みたくないっす・・・。
0719デフォルトの名無しさんNGNG
>>716
関数型ってーと、λ計算とかのやつ?
0720デフォルトの名無しさんNGNG
>>718
Prolog は論理型。関数型だと Lisp, Scheme, Haskell あたり。
>>19
Yes.
関数そのものを動的に構成できるのと、変数の書き換えを原則として行わない
(ループの代わりに関数再帰呼び出しを使うとか)のが特徴。

C++ テンプレートまわりが、かなり関数型風味。C++ だと実行時に関数を動的
構成するのは無理だが、コンパイル時に動的構成するのは可能。bind1st とかね。
またテンプレート仮引数は演算不可なので、必然的にテンプレートメタ
プログラミングは関数型言語っぽいスタイルになる。

>>716
で、唐突に何で関数型の話が出てきたんだ?
0721デフォルトの名無しさんNGNG
>>720
C言語の関数主義みたいなのと混同してるんだと思われ。

て言うか知ってて言ってないか?
0722デフォルトの名無しさんNGNG
>>721
そこまでバカじゃない
0723句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx. NGNG
>>722
0724デフォルトの名無しさんNGNG
>>720
いや、オブジェクト指向だけが至高の考えかたでは無いという意味で…
0725デフォルトの名無しさんNGNG
まぁどっちにしろコピペはありえん
0726デフォルトの名無しさんNGNG
Cにクロージャがあればオブジェクト指向イラネ
0727デフォルトの名無しさんNGNG
デザインパターンを勉強するために
オブジェクト指向における再利用のためのデザインパターン
とかいうの買って読んでたんだが…
これがGoF本だったのね_| ̄|○
0728デフォルトの名無しさんNGNG
>>727
いまどきjavaではない本をよく選んだね。
0729デフォルトの名無しさんNGNG
A「デザパタって糞だな。」
B「デザパタ嫁。デザパタに、デザパタは素晴らしいって書いてある。少しはデザパタ勉強しろ。」
0730デフォルトの名無しさんNGNG
>>728
Javaは好きじゃないので。
先頭小文字のメソッドとか
0731デフォルトの名無しさんNGNG
たしかにGoFの問題点を指摘すると、GoFに良いって書いてあるだろみたいなのいるね。
それって根拠になるのかと小一時間・・・
0732デフォルトの名無しさんNGNG
スレ伸びてたから一瞬嬉しかったけど、
伸びたら伸びたでつまらんレスばかりだなぁ…
0733デフォルトの名無しさんNGNG
>>732
それは違う
馬鹿でも語れる幼稚な話題
主観で語っても反論が来にくく、気持ちよく自己満足に浸れる話題

などだからこそ、スレが伸びるんだよ
各言語スレ見てみても分かるだろ
0734デフォルトの名無しさんNGNG
>>731
そのすぐそばに盲信はするな。今から述べる理想型がどこでも使えると思うな。と書いてあるんだけどな。

それは完全なファクトリ者ねぇよばーか。とか言う奴ってちゃんちゃらおかしい訳で・・・。

0735デフォルトの名無しさんNGNG
>>732
デザパタは道具だからね。
使う対象が無いと、あんまり面白くない。

オープンソースなアプリを題材に、ここはこのパターンだろ。
ありえない。みたいなスレになってくれれば、かなり面白い。
0736デフォルトの名無しさんNGNG
>>735
既に動いてるもんに文句付ける必要なんてないっしょ。
事の本質を見ろよ。
0737デフォルトの名無しさんNGNG
> 既に動いてる

定番だなw
0738デフォルトの名無しさんNGNG
>>729
その例だと、根拠を明示しているだけBの方がマシな気がする。
理由もなしに糞呼ばわりって終わってると思うけど。
0739デフォルトの名無しさんNGNG
>>736
そんな事言ったら、何にも出来んよ。
既に生きてるんだから、医学の研究しちゃ駄目みたいな話。
0740デフォルトの名無しさんNGNG
今日からここはリファクタリングを語るスレになりました。
0741デフォルトの名無しさんNGNG
>>739
人は様々な要素で変化するがソフトウェアは変化しない(変なウイルスはこの際除いてくれ)。

0742デフォルトの名無しさんNGNG
>>736
つまり、「火打ち石があるからライターは要らない」
または「ライターがあるからガスコンロは要らない」ということか。
がんばってライターで鍋料理作ってくれ。
0743デフォルトの名無しさんNGNG
>>742
カップラーメンを作るのに原発の1次系の水持ってこい。それ以外認めん!

とほざいてる奴が何人かいるのは仕様ですか?
0744デフォルトの名無しさんNGNG
原発作る人とカップラーメン作る人が一緒に書き込んでるからね。
0745デフォルトの名無しさんNGNG
ただ一つ言えることは

 厨 は キ モ イ
0746デフォルトの名無しさんNGNG
>>745
きもいっていうやつがきもいんだぞ
0747デフォルトの名無しさんNGNG
既存のシステムを再分析して研鑚をつむのはいいことだぞ。スレのネタにもなるし。
暇なら今後も付き合うライブラリの糞ソースもごりごりリファクタリングしてしまえ。
動けばいいで済むならデザパタはいらんのじゃ。
0748デフォルトの名無しさんNGNG
ボーイング747
0749デフォルトの名無しさんNGNG
Bridgeパターンは、Templeteパターンより偉いですか?
0750デフォルトの名無しさんNGNG
>>736
ホンキで言ってる?

再利用のえらい人たちをなぎ倒すような発言だな。
0751デフォルトの名無しさんNGNG
>>750
事の本質を見なさい。

0752デフォルトの名無しさんNGNG
というか
>>747 とか >>750 のほうがホンキかって感じだよ
俺のプロジェクトにいたら即クビにするね
自己満足の趣味でシステム壊す気かよ
お前には本当にデザパタは毒にしかなってない
0753デフォルトの名無しさんNGNG
>>750
フォースを感じなさい。
0754デフォルトの名無しさんNGNG
>>752
「オープンソースなアプリを題材に」だろ
0755デフォルトの名無しさんNGNG
>>752
同意。ソース指向の奴が多すぎる。
コーディングは単なる過程であることを認識しないといけない。

0756デフォルトの名無しさんNGNG
>>752
うーん。いいものをもっと良くしようって気はないの?
車だって走ればいいのか?
燃費よくしたり、操作性よくしたり、完成した後でも色々改良点はあるだろ。

とまあそんな感じのことを>>747や>>750は言いたいんだと思うが。
0757デフォルトの名無しさんNGNG
>>754
自分のプロジェクトもソースがすべてオープンになっていることには変わりない。

そこにいるのは今そこにあるコードを引っかき回して再試験の憂き目にあわせるのが趣味のお荷物か、
それともその勇気が無く他人のコードに対して陰口をたたくだけの陰湿なだけの人間か。
0758デフォルトの名無しさんNGNG
>>756
それはコーディングレベルでやらずに設計レベルでやることです。
0759デフォルトの名無しさんNGNG
>>747
同意。「動けばいい」と言うヤツこそ首だ。

752のプロジェクトは完成しない。
または納品先の客は不満だらけで完成。
もしかしていまどき「仕様変更は出来ません」なんて言葉がまかり通ってる?
0760デフォルトの名無しさんNGNG
>>759

>>758
0761デフォルトの名無しさんNGNG
×動けば良い
○既に動いている物に変更に要するコストを支払う価値は無い

その辺曲解するな。
0762デフォルトの名無しさんNGNG
>>761
趣味の人には分からんのでしょう。
ソースをいじった結果がバグになってもマイナーバージョンを1上げればすむ話とかその程度の認識。
それをコストとして計上しろという方が無茶。


0763デフォルトの名無しさんNGNG
>>761
それだとデザインパターンの話題が振りにくいと思うんだが。
デザインパターンの話題を盛り上げていくために、
とりあえず既存のオープンソースをリファクタリングしようという話の流れではないの?

「既に動いている物に変更に要するコストを支払う価値は無い」 とか関係ない。
ここはデザインパターンで盛り上がれればいいわけさ。
0764デフォルトの名無しさんNGNG
>>758
貴方の設計はコーディングに入ってからの仕様設計の修正は一切無いのか?
それなら神。

コーディングに入ってからユーザーの仕様変更要求は無いのか?
無い世界なら幸せだね。

またはプロジェクトが小規模なだけだったりー。またはcobol辺りでバッチ処理?
0765デフォルトの名無しさんNGNG
>>763
「あえて」やろうということなら否定する気は全くないけど、759はそうではない。
なぜかクビとか持ち出してるし。
0766デフォルトの名無しさんNGNG
>>765
それは>>752の人がクビとか言い出したから>>759も言ったのでは?
0767デフォルトの名無しさんNGNG
>>764
設計が良けりゃ必然的にコードも整理される。
仕様変更に柔軟に対応するにはそれを念頭に設計を行わなければならない。
無理のある仕様変更なら設計フェーズの時点で無理が生じる。

仕様変更->ソース変更ってのは日曜大工のすることだよ。


>>763
どっちかというとUMLをコードに落とす際にこんな風にデザパタを適応すれば違和感なく記述ができる。
とかそっちに絡めていった方が良いと思われ。

0768デフォルトの名無しさんNGNG
>>764
仕様とか設計とかがどんなものか調べる事をオススメするよ。
仕事でプログラムを組むときは箇条書きが設計書になるわけじゃないんだよ。
プログラムの構造にかかわる事をプログラマの裁量で好き勝手に実装できると思っているの?

プロジェクトが小規模とかcobolとか馬鹿にする前に
もっと基本に目を向けないと話にならないよ。
0769デフォルトの名無しさんNGNG
>>766
752は関係ない。759が例を曲解してまで挙げ足取りをしているから、
そこのところを指摘しただけであって、オープンプロジェクトを例に〜の話の流れと直接関連があるわけじゃないもん。
0770デフォルトの名無しさんNGNG
つうか、勉強の為にやるんだからさぁ、
事の本質とか意味不明な戯言いってんじゃねぇよ。

ちょっと前に書いたばっかしだろうが。
お前の糞会社自慢なんかきいていねーんだよ。
アンチしたいだけならそれ用のスレでやれや。
0771デフォルトの名無しさんNGNG
>>768
>仕事でプログラムを組むときは箇条書きが設計書になるわけじゃないんだよ。

だらだらとした文章がそれになるわけでも無いけどな。

0772デフォルトの名無しさんNGNG
あ、キレた。
ここはマンセースレでもないんだから、アンチがいても不思議はないでしょう。
0773デフォルトの名無しさんNGNG
>>770
その勉強の方針が間違っていると言っている。

GoFの序章300回書き取れ。
0774デフォルトの名無しさんNGNG
嵐も楽しいけど、デザパタと関係ある話にしないか?そろそろ
0775デフォルトの名無しさんNGNG
結局、ソースって評価されないもんなぁ・・・。
0776デフォルトの名無しさんNGNG
>>768
完璧な設計、変更の無い仕様書。
自分には出来ない。
参考書など勉強の仕方を教えて欲しい。
0777デフォルトの名無しさんNGNG
リファクタリングするとバグが出てコストが嵩むというのが前提なんだなw
0778デフォルトの名無しさんNGNG
>>774
ホビーや勉強ではなく仕事としてデザパタやアジャイルプラクティスは真に有効なのかは興味有る。
0779デフォルトの名無しさんNGNG
オプソのソース使って云々言ってた君は、こんな感じで勉強すればいいと思うよ。

1. オプソのソースからソフトウェア構造を洗い出す。
2 その.ソフトウェア構造を再利用性や保守性などテーマを決めていじってみる。
3. できた新ソフトウェア構造にデザパタを当てはめてみる。
4. おお。なんか効率良さそうじゃんとほくそ笑む。

仕様書のない悲しいシステムをいじるときの定石(ある種のデザインパターン)だけどね。

ココデザパタ使えんのに使ってねぇじゃん。ププー

ってのは勉強になってないんで注意した方が良いっす。
0780デフォルトの名無しさんNGNG
>>777
大きく間違ってないよ。
新規コードとシステム全体に対しての試験は当然必要。つまり試験に対するコストが発生する。
未試験のコードにはバグがいると考えるのは大前提と考えるがどうか?


話は変わるがSONYの偉い人は、

「設計から量産まで全部やりなさい。」

と言う文句を残しているよ。

量産まで任されたらその人は初めっから量産を意識して設計を行う。
そうすれば量産用に図面を引き直すコスト(時間、人件費)を削減できると言う話。
0781デフォルトの名無しさんNGNG
>>777
きっと、設計が良いからファクタリングする必要のあるコードは存在しないのが前提なんだよw
0782デフォルトの名無しさんNGNG
>>780
それは根本的な部分ですでにデスマーチの隊列に加わってるってことだな。
脱出成功を祈る。

>>777
どこを弄るかはセンスの見せ所だな。デザパタ適用するかどうかは別にしても。
糞ライブラリは「バグうちでの小槌」なんで文句言われても改訂しちゃっていいと思う。
そういうのはたいがい文句は言っても元には戻せないw

この辺のバランス感覚の優れたマネージャがいるといい職場になるかもな。
実際には保守性を上げたり過去を再分析することを絶対善だと思ってる奴と、
そういう作業が出来ないためにルサンチマン燃やして「余計なこと」としか見ない
奴との戦場だがな。ハハ、、
0783デフォルトの名無しさんNGNG
>>781-782
的外しすぎ
0784デフォルトの名無しさんNGNG
>プロジェクトが小規模とかcobolとか馬鹿にする前に
>もっと基本に目を向けないと話にならないよ。
確かに言い方悪かった。スマ。

デザパタやリファクタリングが必要ない分野も多く存在すると言いたかっただけ。
0785デフォルトの名無しさんNGNG
事の本質云々ほざいてたキミは、こんな感じで勉強してるんだね。

1. 2chで、相手をバカに出来たるようなスレを洗い出す。
2 その.スレを再利用性や保守性などテーマを決めていじってみる。
3. スレに自分の考え、価値観を押し付けてみる。
4. おお。なんかオレって頭いいじゃんとほくそ笑む。

2chの厨の定石(ある種のデザインパターン)だけどね。

ココオレの価値観と違うじゃん。ププー

っての厨丸出しなんで注意した方が良いっす。
0786デフォルトの名無しさんNGNG
>>781
将来起こるあらゆる仕様変更にも、改変なしで耐えられるソースコードか・・・
現実がオモイ。
0787デフォルトの名無しさんNGNG
>>785
別人だけど、それここのデザパタ厨。
0788デフォルトの名無しさんNGNG
>>786
逆にそんなことで来たら俺らなんていらん訳でな。
0789デフォルトの名無しさんNGNG
>>782
「そういう作業が出来ないために」
この表現よく分かる!
0790デフォルトの名無しさんNGNG
ドライビングテクニックにこだわるタクシーの運ちゃんはプロとして失格って話だろ。
0791デフォルトの名無しさんNGNG
>>787
ここの?匿名掲示板で他のスレに出てくる奴が、
ここのスレの奴だって判別できるのか?エスパーか?

確定なのは、デザパタスレにでしゃばってるお前だけ。
0792デフォルトの名無しさんNGNG
ドライビングテクニックにこだわらないレーシングドライバー
あ、結構居るか(w
0793デフォルトの名無しさんNGNG
またわけの分からん例えを。
0794デフォルトの名無しさんNGNG
> デザパタやリファクタリングが必要ない分野ある

同意。
けど、これについてこのスレでやる意味はあんま無いと思う。
0795デフォルトの名無しさんNGNG
静的な仕事やそもそもリファクタリングでメリットが出ない状況を念頭において
「ソース弄るな」って言うのと、流動的な仕事を念頭において「ソース弄れ」って言うのは
どうも非生産的になるね。
0796デフォルトの名無しさんNGNG
>>792
結局の所相手より速く走れりゃなんでも良い訳だ。
そうするためにはドライビングテクが必要になってくる。

単純にそれだけの話。

ドラテクだけ磨いてレースに出ないレーサーに意味はない。
0797デフォルトの名無しさんNGNG
>>795
リファクタリングなんぞする暇合ったら初めっから再利用を前提とした設計をした上で
コード規約作ってアホな名前付けるボケを排除しろと。
0798デフォルトの名無しさんNGNG
オヤジくさい例えが続く。面白いけど。
0799デフォルトの名無しさんNGNG
鶏と卵なボケも早めに排除してください
0800デフォルトの名無しさんNGNG
で、結局のところ再分析してニヤニヤしてはいかんのか?してもいいのか?
0801デフォルトの名無しさんNGNG
実際リファクタリングってどうなの?

出荷後のシステム->気に入らん所変更->バグあり糞システム(何に使うんですか?)
                |
                ->出荷物と同程度の試験->出荷する予定のない改変されたシステム
                                 (次回も似たような案件なら良いですね)


てな感じであんまりメリットが見いだせないんですがなんかメリットを教えて欲しいです。
0802デフォルトの名無しさんNGNG
>>800
設計フェーズまで戻ってやるならよし。
コードちょこっといじってにやにやしてる奴はヲタ。
0803デフォルトの名無しさんNGNG
>>801
リファクタリング
=自社の基盤フレームワーク・共通部品を既存のコードから抽出するといった
 戦略的な目的をもってトップダウンで行うもの
0804デフォルトの名無しさんNGNG
>>803
ああ、なんだ。フレームワーク作ったりライブラリ作ったりすることか。
普通にやってるじゃん。次のプロジェクトの時に。
0805デフォルトの名無しさんNGNG
>>800
このスレはもとからきとーな趣旨だし>>1。
ところでGOFパターンはそもそも開発プロセスとは断絶してる、という基礎知識はOKですか。
再分析というのがマニュファクチュアなことを言ってるなら、
スレ的にNoGood!! してもいいかどうかは状況次第ということになるのでは。
0806デフォルトの名無しさんNGNG
>>803-804
なんで気が合ってるんだおまえらー
0807デフォルトの名無しさんNGNG
青臭くていいから、学生や学究の住人だけで、なにか一つ取り上げてみたいな。
オレも趣味グラマだし、会社でどうとかあまり興味ないんで。
趣味で組んでるソースの見通しを良くし、分かりやすくしたいだけなんだよね。

別スレがいいかな?
0808デフォルトの名無しさんNGNG
時期は悪いがここしかないだろw
業務ネタはさんざん同じ内容でループしてるから、なんかもう慣れてきたぞ。
0809デフォルトの名無しさんNGNG
>>807
自分なりにフレームワークを作ればいいよ。
自分の趣味のプログラムって結構パターンが決まってくるから。

できないとかほざく奴は自分の抽象化能力に疑問を持った方がよい。
0810デフォルトの名無しさんNGNG
>>804
単純に前のプロジェクトから、引っこ抜いてくるだけだろ。

シンプルに、使いやすく、拡張しやすく作り変えないと駄目。本当はね。
だが通常、そんな事やっている暇はない(泣

前のプロジェクトやっている時は、
次に再利用するなんて、全然知らずに作っちまったコード達が
お嫁に行く恐怖。そんなコードを知らずに貰っちまった恐怖を体験せよ!!!
0811デフォルトの名無しさんNGNG
で、Bridgeパターンは、Templeteパターンより偉いのか?
0812デフォルトの名無しさんNGNG
>>808-809
うーん、やっぱり別スレの方が良さそうな気がする。
テスト終わったら資料と題材揃えて立ててみるよ、すぐ落ちるかもしれないけど。
その前に誰かやるならそれでも良いし。
0813デフォルトの名無しさんNGNG
もう充分みんな分かってると思うけどさ、Java厨(=デザパタ厨)ってのは、
自己満足と妄想だけで生きてる、社会不適合者の基地外なんだよ。
(無職引き籠もり)
0814デフォルトの名無しさんNGNG
午前3時に無職引きこもりと言われても説得力が無い。

782辺りが説得力の有る結論じゃないかと思う。
0815デフォルトの名無しさんNGNG
>Java厨(=デザパタ厨)

Java廚ってのはもともと、Javaしかできないうえにそのソースがひでぇ奴らの事だったハズだが
いつから「オブジェクト指向全般できちんと設計する人」を指すようになったんだ?

最近、自分が理解できないモノを必死で否定するヤシ大杉
0816デフォルトの名無しさんNGNG
というかjava厨は放置しろ
また粘着し出すじゃねーか
0817デフォルトの名無しさんNGNG
>ハズだが

誰が決めましたか?
厨はみんな厨だし、無根拠に〜(デザパタ)原理主義な発言ばかりしてるアホも厨に相違ないですね。

>きちんと設計する人

自分はそうであると思い込みたいのですね。
0818デフォルトの名無しさんNGNG
>>801
そもそも少しデザパタとは少し違うんだけど
>出荷後のシステム->気に入らん所変更->バグあり糞システム(何に使うんですか?)
>                |
>                ->出荷物と同程度の試験->出荷する予定のない改変されたシステム
>                                 (次回も似たような案件なら良いですね)

リファクタの話でてるから漏れのわかってる範囲でXPも考慮にいれて考えると、
(間違ってたり足らんとこは適時喪前ら様達で保管してくれ)
>出荷する予定のない改変されたシステム
元々使いもせんような機能いれんだろ。
つーかある時点でおかしい。
使うか使わないかわからん機能入れるための変更なんてリファクタでもなんでもないと思うぞ。
逆にそー言うのを剥ぎ取ってスリム化して保守しやすくするための物がリファクタ(の一部)だと思うが。
>バグあり糞システム
バグを見つけ出し、撲滅するためにテストするんだろ。
で、テストに工数掛けられないからユニットテスト等の自動化ツールがあるんでは?
書き捨てでテストもしないシステムなんてリファクタでもなんでもないと思う。
単にシステム壊してるだけでは?
リファクタはテストを行うことが大前提でやる物だと漏れはおもってるが。
でないと変更後の正当性保障できないからね。

他の目的には803さんの言うのもあるが。
0819デフォルトの名無しさんNGNG
どこに機能追加なんて書いてある
0820在日参政権反対NGNG
知性のないやり取りは見るに耐えない...
0821デフォルトの名無しさんNGNG
結城本と日立本では、Factory Methodが別物だけど
どっちが正しいの?
0822デフォルトの名無しさんNGNG
>>820
今時右翼?
0823デフォルトの名無しさんNGNG
>>821
その本を両方とも持ってる奴は居るのかなあ?
0824デフォルトの名無しさんNGNG
>>823
呼んだ?
0825デフォルトの名無しさんNGNG
>>823
日立はネットでもある程度公開してるので、結城本もってるなら比較できるはず。
たしかに>>821の言うとおり使い方が違うね。

結城本はTemplate Methodの応用といった感じで書かれてる。
日立は↓
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/gof/factory_method.html
0826デフォルトの名無しさんNGNG
>>825
結城・・・専用のFactoryクラス+その上に抽象クラス
日立・・・あるクラスに、他のクラスのコンストラクタをくっ付けるだけ

結城本は、小難しくしすぎか?

0827デフォルトの名無しさんNGNG
結城本を読むのに必要な基礎知識は
o Javaの文法
o UML
です。
先にUMLを覚えておかないとオブジェクト指向関連の本は読み難いですよ。

# ひさびさにUML技術者認定試験について調べてたら、
# オージス総研からUMLモデリング推進協議会ってところに移っていたみたいです。
# いま初めて気づきました…
# 面白半分にブロンズとってみたけど。。
0828デフォルトの名無しさんNGNG
結城本は、フレームワークの説明をしたかっただけなんじゃ?
Factory Method大迷惑
0829デフォルトの名無しさんNGNG
両本の第一小見出しにパターンの利用目的が書かれているが、GOF本は短く的確に
書かれているのに対して、結城本は簡単に説明しようと試みるも、逆に抽象的で
意味がとらえ難く、冗長になっている感がある。初心者にとっては理解しやすい
かもしれないが、ある程度の経験者になるとぱっと見て理解し難いだろう。

GOF本は、
目的、動機、適用可能性、構造、構成要素、協調関係、結果、実装、サンプルコード、使用例、関連するパターン
と、全てのパターンについて一貫した項目構成になっており、それぞれのパターン
を比較しやすく、辞書引きも便利になっている。
結城本はパターンの紹介を一項目で行い、いきなりサンプルプログラムを出してい
るが、抽象的で冗長な紹介文をいちいち読まねばどんなパターンかというのが解か
らない。
0830デフォルトの名無しさんNGNG
GOF本でいうところの、
動機、適用可能性
の部分が結城本での、
あなたが考えを広げるためのヒント
の一項目にあたり、この部分は初めの方にあった方が、これからどんなパターン
を使うのかということを把握しやすい。

関連パターンの紹介は結城本の方がリンクを明確にしている分わかりやすい。

サンプルコードは、GOF本は古いせいもあってC++、結城本はJavaになっているが、
実際にまともな作品としてプログラムを組む場合はC++が大半だと思うので、
GOF本のサンプルのほうが参考になるという人も多いだろう。
ただ、結城本のコードはより具体的に"動くもの"として掲載されているので実際に
動かして確認できる分、初心者にとってやさしいと言えるだろう。

あと比較するとしたら、
結城本は左上の欄外にパターンの名称が書いてあるから調べやすい。
GOF本の欄外には書いてない。

くらいかなぁ…
0831デフォルトの名無しさんNGNG
>>821-
おいおい、このスレにはGoF本を読んだことのない香具師しかおらんのか?

GoF本に載っているFactory Methodパターンに忠実なのは結城本のほうだ。
0832デフォルトの名無しさんNGNG
>>831
忠実とか言ってるお前はGoFの序章読み返せ。
0833デフォルトの名無しさんNGNG
>>831
Java厨きたー
0834デフォルトの名無しさんNGNG
むっ、GoFってやっぱり、読んだ方がよさそうですね。
1ページ、1ページのボリュームが凄まじかった、
読むの辛そうなので敬遠してたけど今度読んでみよう。
0835834NGNG
s/凄まじかった/凄まじかったから/
0836デフォルトの名無しさんNGNG
>>834
序章がすべての肝と言っても過言ではない。三回は読むように。
0837834NGNG
>>836
あれ?序章が肝なの?
立ち読みしてたとき、序章飛ばして、
いきなり個々のパターンのページに飛ばそうかと思っちゃったんですけど。

4回は読みます。
0838デフォルトの名無しさんNGNG
>>837
お前が一流のエンジニアになるか一流のヲタになるかの分かれ目がそこだ。
0839デフォルトの名無しさんNGNG
GOFもデザパタも読みやすい、分かりやすい。結城氏などの入門書を飛ばしてもいいと思う。
プログラムの達人=解説の達人は成り立たたないから昔は読みにくいものばかりだったのに
良い時代になったものだ。
0840デフォルトの名無しさんNGNG
またしてもどの本がどうたら
と
か
いう話かww
0841デフォルトの名無しさんNGNG
デザパタ至上主義もどうかと思っていたので
昨日のアンチの話には興味が有ったんだがとんだ肩透かしであった。
0842デフォルトの名無しさんNGNG
GOF本・・・正座をして読む
結城本・・・あぐらをかいて読む
日立本・・・ごろ寝して読む
0843デフォルトの名無しさんNGNG
>>842
それプラス全裸が基本スタイルだよな
0844デフォルトの名無しさんNGNG
GOF本・・・バイブで
結城本・・・本に挟んで
日立本・・・手で
0845デフォルトの名無しさんNGNG
世の中に必要ない人が、ずいぶん頑張ってるスレですね(w
0846デフォルトの名無しさんNGNG
>>845
自己紹介
http://etc3.2ch.net/intro
0847デフォルトの名無しさんNGNG
BuilderパターンとCommandパターンって、やっている事は同じですか?
0848デフォルトの名無しさんNGNG
やっている事は同じですね
0849デフォルトの名無しさんNGNG
委譲使っている奴は皆似ているなー。
Bridgeとか・・・
0850デフォルトの名無しさんNGNG
デザパタにあてはめていくと小さいクラスがたくさん出来てしまうんですがこれでいいですか?
0851デフォルトの名無しさんNGNG
>>850
そこでlight weightですよ。
0852デフォルトの名無しさんNGNG
>>850
OO ってそういうもんだよ。小さいクラスになってるからこそ、変更に強いわけで。
0853デフォルトの名無しさんNGNG
「小さいクラス」じゃなくて「たくさん」を問題視してるんだろ。
0854デフォルトの名無しさんNGNG
具体例がないと、ちょっと分からんなぁ。
0855デフォルトの名無しさんNGNG
>>854
そんなバカな自分を形成している父の精子と母の卵子を恨め。
0856デフォルトの名無しさんNGNG
>>855
じゃ、回答よろしく。
0857在日参政権反対NGNG
>850
人間の体考えれば分かるだろ.
クラス細分化結構!!
0858デフォルトの名無しさんNGNG
2000行越えたらout
0859デフォルトの名無しさんNGNG
一つのメソッドを理解するのに30秒以上かかったらout
そのメソッドは分割されるべき。
0860デフォルトの名無しさんNGNG
長いメソッドを分割する話にすり替えるなよ。
短いメソッドが大量に発生する話だろ。
0861デフォルトの名無しさんNGNG
過ぎたるは及ばざるがごとし
0862デフォルトの名無しさんNGNG
>>857
人間の体とクラスに何の関係があるんだ?
0863デフォルトの名無しさんNGNG
>>862
たとえば人間の体がたった一つのクラスで構成されてたら、ちょっとした
爪先を怪我しただけで最悪体丸ごと総とっかえなわけです。
しかし細分化しておけば爪クラスを補修してあげればいいわけです。

このメタファでわかるといいんだけど。

>>859
>>860
>>861
オブジェクト指向ってのは人間の理解のためのものなので、クラス設計
もメソッドの行数もメソッド数も人間の可読性が基準になると思う。
だから理解に30秒以上かかるメソッドは当然処置対象だと思うし、
短いメソッド乱発ってことはクラス分割されるところがあるはずだと疑う
のが普通。

そういう点からすると
>過ぎたるは及ばざるがごとし
ってのは今までの失敗経験から痛いほどわかるわけで。orz
そういうのの指針にするためにもデザパタって必要だと思うんだけどな。
0864デフォルトの名無しさんNGNG
>たとえば人間の体がたった一つのクラスで構成されてたら

大げさすぎる例ww
0865デフォルトの名無しさんNGNG
規模によるじゃないの。
デカイ時にチョッコウ性を上げすぎると後々面倒。
0866デフォルトの名無しさんNGNG
>爪先を怪我しただけで最悪体丸ごと総とっかえなわけです。
つめ先だけ直して再コンパイルすりゃええじゃないの。何が困るわけ?
って話になっちゃうんじゃないかね?
0867在日参政権反対NGNG
いいたかったのは人間というシステムもいろんな臓器や、循環系、神経系、免疫系などのシステムが有機的に結合して出来ているし、それらもさらに細かい部品から成り立っているということだったんだが...
全部同じ細胞クラスから派生してたりね.
0868デフォルトの名無しさんNGNG
相互に依存しまくりでちょっといじったら生命を維持できなくなるぞ。
0869デフォルトの名無しさんNGNG
脳味噌を入れ代えるときはStrategyパターンでいいのですか?
0870デフォルトの名無しさんNGNG
>>869
いいかもしんない
0871デフォルトの名無しさんNGNG
>>863
障害の局所化の話をしたいのか?
冗長な説明だね,というか焦点がボケるなあ,その喩えだと。
DNAの一元性の問題や遺伝子発現等の別領域のテーマと干渉する喩えだね。
敢えて突っ込まないが...
0872デフォルトの名無しさんNGNG
>>859
1つのメソッドが理解しやすくなっても
メソッドが多くなりすぎて1つのクラスとして理解しにくくなると思う。
0873デフォルトの名無しさんNGNG
>>872
そう思う。
だからあまり多くなり過ぎたらクラスを分割する。
0874デフォルトの名無しさんNGNG
おれはあほなので30秒ではほとんど理解できません。
0875デフォルトの名無しさんNGNG
>>871
何て言うかカップが付いてるのを知らずにひたすらカップの上からアイスクリームをなめているような、そんなしゃべりですね。
0876デフォルトの名無しさんNGNG
>>873
さらに増やすのか。
0877在日参政権反対NGNG
>873
(・ω・)人(・ω・) ナカーマ
0878デフォルトの名無しさんNGNG
どうしよう・・増えちゃったよ(>>877)
0879デフォルトの名無しさんNGNG
システム内できちんと位置を占めてて単純なものなら大クラス主義でかまわん。
0880デフォルトの名無しさんNGNG
>>877
(・ω・)人(・ω・)人(・ω・) モレーモイレテーヨ
0881デフォルトの名無しさんNGNG
>システム内できちんと位置を占めてて単純なもの
それはすでに大クラス主義とは言わないのでは?
0882デフォルトの名無しさんNGNG
長くなったら短くすればいいとか
多くなったらクラスを増やせばいいとか
本だけ読んでいい気になってるリア厨ですか?
短いメソッドが大量発生しても1つのメソッドは理解しやすいし
クラスを増やせば全部オッケーですかあーそーデスか
最適な粒度ってのは行数やメソッドの数じゃないんだよ
死ぬまでJavaでもやっててください
0883デフォルトの名無しさんNGNG
また痛い香具師が一匹湧いたな・・・・
0884デフォルトの名無しさんNGNG
アホのせいで頭痛が痛くなってきた
0885在日参政権反対NGNG
マジレスすると自分はクラス細分化されてるの好きだし、メソッドどんどん作る主義。
そのほうが見やすい。そこらへんは個人差でないの?
0886デフォルトの名無しさんNGNG
知ってますか?ここ俺栞の中で最低スレですよ?
0887デフォルトの名無しさんNGNG
>>886
だから?
0888デフォルトの名無しさんNGNG
素朴な疑問
やっぱこのスレってJava厨多いの?
0889デフォルトの名無しさんNGNG
一番無意味で非生産的な質問の形態として「だから?」の一言レスというのがありますね。
0890デフォルトの名無しさんNGNG
>>889
あっさり釣られてやがんの(プ
0891デフォルトの名無しさんNGNG
あーあ、最後に「釣り」って言っちゃった。わかりやすい負け犬宣言だなぁ。
0892デフォルトの名無しさんNGNG
>>891
負け犬はそっちだろヴォケ。氏ね
0893デフォルトの名無しさんNGNG
朝から香り高い香具師が2人ほどいますね。
0894デフォルトの名無しさんNGNG
晒しage
0895デフォルトの名無しさんNGNG
>>890=負け犬
0896デフォルトの名無しさんNGNG
>>890=負け犬
0897デフォルトの名無しさんNGNG
>>895>>896
焦って二重カキコですか(禿藁
貴方の怒りで震える右手の人差し指が目に浮かびますよ(プ
0898デフォルトの名無しさんNGNG
>>890=負け犬
0899デフォルトの名無しさんNGNG
怒りの余り脳の論理回路が停止して短い単語しか繰り返せなくなったか。
池沼だな。
0900デフォルトの名無しさんNGNG
>>890=負け犬
0901デフォルトの名無しさんNGNG
>>899
で、釣られているのが自分だという罠w
別人に怒ってやんのw
0902デフォルトの名無しさんNGNG
>>901
プッ。見え透いた嘘を。IP全部同じじゃん。馬鹿ですか?
0903デフォルトの名無しさんNGNG
>>902
見え透いた嘘はそっちだろw
0904デフォルトの名無しさんNGNG
>>903
削除人はホスト名をいつでも自由に閲覧できる事をお忘れなく(w
0905デフォルトの名無しさんNGNG
>>904
初心者ですか?
0906デフォルトの名無しさんNGNG
>>890=負け犬
0907デフォルトの名無しさんNGNG
  |   |  | |   |    |  | |   |   |   || | |
  |   |  | レ  |    |  | |   |  J   || | |
  |   |  |     J    |  | |  し     || | |
  |   レ |      |  レ|       || J |
 J      し         |     |       ||   J
             |    し         J|
             J                レ
     /V\
    /◎;;;,;,,,,ヽ
 _ ム::::(l|l゚Д゚)| バカじゃねーか… こんなに釣り糸垂らしやがって…
ヽツ.(ノ::::::::::.:::::.:..|)  それで俺たちが釣れると思ってたら大間違いだ…
  ヾソ:::::::::::::::::.:ノ   どこか別の釣堀り逝ってこい!
   ` ー U'"U'
0908在日参政権反対NGNG
たまにすれ伸びたかと思ったら全部釣り針ですか...
0909デフォルトの名無しさんNGNG
↓という事でデザパタの話をどうぞ
0910デフォルトの名無しさんNGNG
クラス設計とデザパタの区別が付いてない奴が多くないか?
0911在日参政権反対NGNG
>910
の言う区別とは?
0912デフォルトの名無しさんNGNG
↓という事で24個目のパターンをどうぞ
0913デフォルトの名無しさんNGNG
フィッシングパターン
0914デフォルトの名無しさんNGNG
そもそも小さなたくさんのクラスにわけろっていう教えを
説いたのはケント・ベックだからなあ

異議のある人は御大に直接意見してほしいものだ
0915デフォルトの名無しさんNGNG
権威に盲従パターン
0916デフォルトの名無しさんNGNG
>>915
社民党パターン(先ず反対を唱えておく)
0917デフォルトの名無しさんNGNG
>>916
内容より名前で勝負パターン
0918デフォルトの名無しさんNGNG
>>917
名前がそのまんまパターン(ってこれもだ)
0919デフォルトの名無しさんNGNG
ていうか、
「"大きなクラスを小さなクラスに分けるパターン" はあるが、
"小さなクラスを大きなクラスに纏めるパターン" 等というものは無い」
という事実が、全てを語っていると思うのだが・・・
0920デフォルトの名無しさんNGNG
>>919
リファクタリングの話ではあるけど、一応
「メソッドのインライン化」や「クラスのインライン化」というのがあるので、
無いというのは正確ではないかと。
0921デフォルトの名無しさんNGNG
>>919
パッケージ化して公開インターフェイスだけを使わせたらいいのだよ。
0922デフォルトの名無しさんNGNG
俺の考えたデザインパターンを見てくれってやつはおらんのか。
GoFの時代から進歩ねえなあ。
0923デフォルトの名無しさんNGNG
まぁ基本だがGoF以外のパターンもあるわけで、
そうそう新しいのは出てこないなぁ。
自分で新しいのを広められたらうれしいけどねぇ。

http://c2.com/cgi/wiki?PortlandPatternRepository
0924デフォルトの名無しさんNGNG
大抵GoFのパターンを元にしていろいろカスタマイズして使えるからねぇ。
カスタマイズしたやつが新しいパターンと言えなくもないが。。
0925デフォルトの名無しさんNGNG
>>924
GoFの序章を23回書き写せ。
0926デフォルトの名無しさんNGNG
>>925
たぶん私が言いたいことが君には伝わってない。
面倒だから言い直さないけど。
0927デフォルトの名無しさんNGNG
>>926
テレパシーでも覚えれば?
0928デフォルトの名無しさんNGNG
>>927
それよりも電波受信してもらう方が簡単だよ
0929デフォルトの名無しさんNGNG
Comositeパターンで謎なのは、Compositeクラスだけでなく、なぜか、Componentクラスにも
AddChildやRemoveがあること。
なんで?
0930在日参政権反対NGNG
止めて−スレを汚さないデー
0931デフォルトの名無しさんNGNG
ダウンキャストしなくても良いように。
でもそれがCompositeパターンと言うわけではなく、
ダウンキャストを前提とした実装のパターンもある。
0932デフォルトの名無しさんNGNG
java5ではダウンキャストもコンパイルエラーではじいてくれる?
0933デフォルトの名無しさんNGNG
だれか「クラスの粒度」について真面目に語ってみてくれないか
0934デフォルトの名無しさんNGNG
前にも書いたが

システムの一部分をごっそり他のシステムへ転用する時
本当に必要な部分だけ、取り出す事が出来れば、
その「クラスの粒度」は正しい
0935デフォルトの名無しさんNGNG
>>934
粒度が過度に細かい場合も必要な部分だけ取り出せない?
0936デフォルトの名無しさんNGNG
>>935
あまり快適じゃないけどね。
ドキュメント見て、あ、これも追加か・・・とか。

「ストレスなしに」を付け加えた方が良いのかな>>934
0937デフォルトの名無しさんNGNG
そこで Facade パターンですよ

……隠した先のクラスがどれか分からないと取り出せないか(´・ω・`)
ライブラリそのものを丸ごと引っ越すならともかく
0938デフォルトの名無しさんNGNG
>>933
コレがお手本だ!なんてオープンソースのコードはないかねえ。javaで。
0939デフォルトの名無しさんNGNG
>>938
java 自身は?
0940デフォルトの名無しさんNGNG
フィッシングパターン
内部のフックをファサードで隠蔽しながらエサを偽装するパターン
0941デフォルトの名無しさんNGNG
>>875
俺の発言にレス付いてるじゃん,驚いた。
でも,内容が無いよう...
0942デフォルトの名無しさんNGNG
Javaのライブラリは、デザパタ悪用糞ライブラリの代表。
0943デフォルトの名無しさんNGNG
使いこなせないからひがんでるんですね( ̄ー ̄
0944デフォルトの名無しさんNGNG
てかJavaライブラリマンセーの方が変じゃねーか?
0945デフォルトの名無しさんNGNG
何かを悪いと指摘する場合は、
良い例を示さないと説得力無いねぇ。
そして、この板常駐の忍者ハッタリくんが、
例を示して人を納得させる技量が無い事は、
皆が知っている
0946デフォルトの名無しさんNGNG
>>942 >>944
そうかね?
結構、よい設計だと思うんだが。
基本部分のjava.ioとかjava.langあたりは。

しかし、何でage?
0947デフォルトの名無しさんNGNG
java.ioのストリームクラスとかReader/Writerとか使いにくいよー。
もっとパッと組みたいんだよ、パッと。
0948デフォルトの名無しさんNGNG
>>947
RPGつくーるでも使ってなさい
0949デフォルトの名無しさんNGNG
これだからJAVA厨は・・・
0950次スレ案内NGNG
【GoF】デザインパターン 3
http://pc5.2ch.net/test/read.cgi/tech/1095388499/l50
0951デフォルトの名無しさんNGNG
java.ioはデコレータパターンの成功例だと思うんだけどな。
0952デフォルトの名無しさんNGNG
デザパタ嫁とか
デザパタに書いてあるとか
デザパタに従ってるから成功だとか
教典を盲信する新興宗教の信者ですか?
0953デフォルトの名無しさんNGNG
>>952
その通り。
危険だから君はこのスレに近寄らない方がいいよ。
0954デフォルトの名無しさんNGNG
ツールはあくまで使うもの。
それに使われ始めたら厨の始まり。

得意になって、覚えたてのデザパタを使う為にがんばっちゃうような奴ばっかだよな、このスレ。
で、知識をひけらかしたがる。
0955デフォルトの名無しさんNGNG
>>954
禿同
デザパタなんぞ、所詮枠や雛形に過ぎない。
どーやってデザパタと同形にするかとかより、
デザパタをどー取り込んで使うかが大事だと思う。
取り込んだ結果が使おうとしてたデザパタと違っても
所詮雛形なんだから変わるのは全然問題なし。
(跡形もなくなるとソレはそれで別の問題があるだろうが。)
0956デフォルトの名無しさんNGNG
長々とテンプレどおりの一般論をご苦労様。
0957デフォルトの名無しさんNGNG
新しく出てた亜蛇射る開発本(≠Agileシリーズ)も、
デザパタをネタに各章が構成されてたっけ。
デザパタはえいえんにふめつです!
あと、POSAとPLoP本もよろすくねw
0958デフォルトの名無しさんNGNG
>>957
キチガイ?
0959↑(´∀`)スグコレダNGNG
 
0960デフォルトの名無しさんNGNG
>>959
ホンニソ?
0961デフォルトの名無しさんNGNG
以上、アンチがキーキーわめくだけの猿スレでした。
次スレは皆の心の中に…
0962デフォルトの名無しさんNGNG
Aransk?
0963デフォルトの名無しさんNGNG
>>961
いやほんとだな
アンチは何しにわざわざこのスレ来てるんだ…

信者の集団と言われても良いから、前向きにデザパタを語るスレが欲しいよ
「デザインパターン信者の集い」スレとか、立てていい?
0964デフォルトの名無しさんNGNG
>>963
お前のBBSにしてくれ。
0965デフォルトの名無しさんNGNG
てかJava厨消えてくれ
0966デフォルトの名無しさんNGNG
↑その猿
0967在日参政権反対NGNG
アンチはなー...
今プログラムするとしたらデザパタの要素は必ず入ってるだろうに...
0968デフォルトの名無しさんNGNG
アンチってその可哀相な人生をいつまで続けるの?
さっさと市ねよ
0969デフォルトの名無しさんNGNG
アンチデザパタじゃなくて
アンチJAVA厨ね
かってにすり替えるなよJAVA厨
0970デフォルトの名無しさんNGNG
口の減らない基地外だなぁ〜
0971デフォルトの名無しさんNGNG
>>969
C++ですが、なにか?
構文が似通ってると同じに見えるんですか?
0972デフォルトの名無しさんNGNG
>>969
こういう馬鹿って、なんで生きてるんだろうなぁ。
劣等感丸出しで恥ずかしい奴だw
0973デフォルトの名無しさんNGNG
Java厨じゃないから特に腹も立たないな
0974デフォルトの名無しさんNGNG
俺はJava使ったこともねえけども、
デザインパターンの話をしようとすると必然的にJavaの話にならないか?
Javaもそこまでうまく利用できているわけではないけど、
ほかにまともにデザインパターン利用できてる言語ってないし。
0975デフォルトの名無しさんNGNG
>>954
こんなスレ、まさに知識をひけらかすためのスレじゃねえの?
で、俺みたいな理解してない馬鹿がその恩恵を授かると。
0976デフォルトの名無しさんNGNG
>>974ほかにまともにデザインパターン利用できてる言語ってないし。
ほう、っていうか、「利用できてる」言語って何だ?
0977デフォルトの名無しさんNGNG
やっぱJava厨には消えて欲しいでFA
0978デフォルトの名無しさんNGNG
Smalltalk以外はマムコ
0979デフォルトの名無しさんNGNG
デザインパターンは言語で利用するものなのか?
俺の感覚だと
『上手な設計』⇒『よし、デザパタとして憶えておこう』⇒<別の案件>⇒『ここにはあのパターンが使える』
だから
>デザインパターン利用できてる言語ってないし。
って言い方が違うと思うぞ?

最初設計した際に使用した言語と別の案件で使用する言語の違いは設計にもろに出るから
Java 以外にデザパタってあまり見ないのはこの違いのせいだと思ってるが……
0980974NGNG
>>976
漏れの日本語に対する指摘か?
んじゃ、 「利用できてる」 ⇒ 「活用できている」 かな。
0981979NGNG
>>980
あ、俺の感覚を書いただけだから、違うと思ったら別にそれでもいいんスけどね
指摘なんてレベルには達していないです

>「活用できている」
おkかと
0982974NGNG
>>979
>デザインパターンは言語で利用するものなのか?
おお、そういう意味ね。確かに勘違いするかも。
漏れのいいたかったことは
「デザインパターンという概念はjavaでしか使えない」と言いたいのではなくて
「デザインパターンを適用してる言語は今のところjavaしかなさそう」と言いたかったんです。

あ、C#とかもVB.NETとかも使ってるのかな。
0983デフォルトの名無しさんNGNG
漏れもJava厨には消えて欲しいでFA
0984デフォルトの名無しさんNGNG
今日もループだねえ
0985デフォルトの名無しさんNGNG
>>982
Javaのクラスライブラリ ってことか?
Javaの言語仕様でデザパタ活用してるなんて思えないし。

.NETとかWxWidgetsとかもデザパタ使ってるとおもうんだけど
どしてJava「しか」ないの?
0986974NGNG
>>985
>Javaのクラスライブラリ ってことか?
そです。

>どしてJava「しか」ないの?
それは漏れが.NETを使ったことないからさ!ъ( ゚ー^)
正直スマンカッタ
0987976==910NGNG
で、いつもいつも思うんだけど、
デザパタって使用するものじゃなく、自然とそうなるものだろ?

既存のデザパタが使える部分が 100% って事はまず無いが、
沢山のライブラリを見て「これはひとつのパターンなんじゃないか?」ってのを
抜き出したのがデザパタなんだから、
自然とそうなったものを「ここはデザパタを使用しました」って単純に言うのは間違いだと思う

デザパタを使ったか使ってないかは、それこそ設計者に聞くしかない
外見がデザパタっぽくても

と思うんだけど間違ってる?
ちなみにこれが >>910 の説明
0988デフォルトの名無しさんNGNG
デザインパターンは囲碁の定石だよ。
0989976==910NGNG
>>988
だけど囲碁でも「ここはこのパターンで……」という様な思考は無いだろ?
「ここはこうすると……」なら大いにあるけど。

一番ありふれたパターンは、俺は Facade だと思う。
自分が書いたコード内で、Facade が無意識の内に使われていた事って、
結構あることだと思うんだけどなぁ……
それを『デザパタを使用しました』って胸を張って言うのは感覚的に間違っている気がする

たしかに「ここはこのパターンで……」と考えると、
自分が考えたものより良いものができる場合もあるけど。
0990976==910NGNG
>>988
とりあえず囲碁の定石だって事に異論は無いっスが
0991デフォルトの名無しさんNGNG
>>989
囲碁の定石には名前はないのかい?
となると、解説の人は大弱りだと思うんだが。
0992次スレ案内NGNG
【GoF】デザインパターン 3
http://pc5.2ch.net/test/read.cgi/tech/1095388499/l50
0993976==910NGNG
>>991
いや、名前の有る無しは別

自分が設計したものが、偶然あるパターンそっくりになっても、外部から見ればデザパタ使った風にしか見えないから、
それを考えると『デザパタを使用している』って単純に言うのは間違ってるんじゃないか、って言いたいだけ

『ここはこのパターンに似ている』なら大いに結構
単に日本語の問題かもしれない

自分でも言いたい事が良く分からなくなってきたorz
0994デフォルトの名無しさんNGNG
意識してよく使うのはCompositeで、
無意識のうちに使っているのはAdapterかなぁ。
0995デフォルトの名無しさんNGNG
>>993
一人きりで書く場合には別かもね
0996976==910NGNG
>>995
何か間違えた?俺
0997デフォルトの名無しさんNGNG
なんでこんな空しい議論をいつまでも続けるの?

次スレ必要なっし
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG

      //
    / .人
    /  (__) パカ
   / ∩(____)   おいすー^^
   / .|( ・∀・)_
  // |   ヽ/
  " ̄ ̄ ̄"∪

1000デフォルトの名無しさんNGNG
      //
    / .人
    /  (__) パカ
   / ∩(____)   あ、ぽこたんインしたお!
   / .|( ・∀・)_
  // |   ヽ/
  " ̄ ̄ ̄"∪


10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。