オブジェクト指向システムの設計 174 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
VBには継承がないから!
みたいなことを言って恥をかくと良いよ オブジェクト指向の言語を使っても
オブジェクト指向でプログラムを作ることにはならんでしょうに
staticメソッドを中心にプログラム組むことだってできるし
それなりの規模がないとオブジェクト指向は効果を発揮しないのじゃないかな そいえば旧VBは型の継承はサポートしてるんだよね
昨今は実装の継承はあまりやらない方がいんじゃないかって言われてるし
旧VBはオブジェクト指向言語と言っていいと思う
旧VB+ラムダ式の言語があれば最強な気がする >>765
IoCは概念
DIはデザインパターン
シングルトンはゴミ >>773
あれあれ?ポリシーがないってだけ?
そのポリシーとやらは
オブジェクト指向にどう関係してくるんですか? VBが糞と言うよりVB使いにくそしかいないと言うことでしょ
言語に善悪はない VBはラムダのFunction省略できないとめんどくさくてやだ 「ナンバーズ-天才数学者の事件簿-」でFBIの技術官が犯人のwifi逆探知するのに
「ええ、ビジュアルベーシックで絞り込めば…」って言ってたし(ガクブル vb.netになって出来ることはC#と同じになったのになんか書き方がいちいち冗長 やはり話にならないらしい
VBに毒されたものの末路だな >>779
そりゃBASIC構文だからな
BASIC構文でラムダ式とか記述に無理がある VBってまだサポートされてんだっけ
Coreになってからさっぱり話題にならなくなったけど JavaScript併用しなければならないWeb開発だと文法違い過ぎるから敬遠されるだろうね VBは言語の問題でなく使う奴が糞
8割がスマートUIを書きモダンな設計を読みにくいと一蹴する
4重ループにカウンタ現役 VBAはオブジェクト指向が出来るように近代化して欲しいと思ったけどVBAごときでオブジェクト指向導入する規模とかヤバそうだから現状維持と緩やかな死が良いね ER図とクラス図が似てくるのは危険な匂いしてますか?
正規化した物理設計レベルじゃ違うけど外仕レベルじゃ同等になっちゃう >>787
RDBMSの最適化進めてくと違ってこないか
後からクラスだけ変えるのもあるし >>788
内部設計になってDBの正規化始めると確かに違います
ただ外部設計ではほぼ同じになるのでER図とクラス図に差が無いんです
ER図要るのかこれってなるので世間様はどう折り合い付けてるのか気になりまして データベースは実装の奥底にあるものなので設計では何も決めない
データベースなしの状態で動くところまで実装してようやく、そろそろ永続化の実装考えようかって話が始まる >>789
そのDB使う他のアプリケーションには必要だろう 異なるアプリでデータベースを共有するの迷惑
APIを用意してくれ マイクロサービスか
やりたいけど構築するのが面倒だ
誰か代わりに作ってくれ クラス依存症は、だいたいのところファンクションという概念すら理解できていないのが9割
クラスに格納されたデータという名詞的実体に安堵しているだけで
プログラムを書く才能も、システム設計する能力もないやつが
好き勝手にクラス図をかいて、ぼくのさいっきょなクラスチームを作るだけなんだよなあ
だから僕の考えたクラス構成という話題は出ても
そのクラスがどのように通信するかっていう話をオブジェクト指向信者は語らないの
なぜならばそのメッセージングを実装できないから
そのすばらしいクラスが単なるデータの塊でしかないことを
自分で書いた壮大な物語でカプセル化し、他人から見えなくしたいから
カプセル化って偉大だよなあ?
電卓やじゃんけんすら実装できないひ弱な自分を壮大なクラス図を書けばごまかせると錯覚できちゃうんだから VB.Netはもう20年ほど前に完全に移行しているんだけどなぁ
VB馬鹿にするやつがどれだけオブジェクト指向理解してんのか疑問だな >>792
それならオブジェクトをシリアライズして保存した方が楽かな
キーは要るけど オブジェクトでプールして必要に応じて永続化してくれるようなサービスでもういいな >>794
さすがに時代錯誤な感じ
今どきのメジャーな言語は
ほとんどクラス持ってるぞ
Java、C#、C++、Python、Ruby、PHP…… 間違ってないんだから問題ないだろ。
あとついでに無名クラスを持っている言語
PHP、・・・
クロージャーを持ってる言語
PHP、・・・
トレイトを持ってる言語
PHP、・・・
ジェネレータを持っている言語
PHP、・・・ PHPは最先端の言語だからな。だからこそ、バカには使いこなせない。
のに、バカがこぞって使うからクソ言語扱いされている。 10年経ったことにも気づかない引きこもりがいる板だからな
10年前に見かけた与太を今日話すことに違和感をおぼえる知能もない
プログラミングできるわけじゃないから、技術的な話にも初心者の質問にも応えられない
「ただ」「昔見かけたもの」を「書く」だけ >>795
VB6のコードをそのままVB.NETに移植する仕事を何度したことか C系やる奴はPHPやJAVAもやってるけどVB使いはVBしかできないケースが多い >>795
> VB.Netはもう20年ほど前に完全に移行しているんだけどなぁ
VB.netのリリースは2001年(16年前)なんだが...
> VB馬鹿にするやつがどれだけオブジェクト指向理解してんのか疑問だな
人の心配する前に自分の認知症の心配した方がいいぞ w 20年ほど前じゃない16年前だ <- これアスペすぎるだろ >>810
20と16の区別もつかなくなってるのか w 8進数の20は10進数の16
すなわち、20=16、とな VBとCOBOLはいまさら覚えたくねえなぁ
C系と記述が違うのに先進性は無いとか鬱になる 分かりにくい解説だな
マルチポストする前に文章を見直せ >>823
ペチパーやドザーみたいな愛称だろアスペか >>825
文脈的に、アスペルガー症候群じゃなくてアスペルガー症候群患者な >>825-826
これがアスペルガー症候群患者なんだな どうやったらこんなつまんないレスを返せるんだよ...
重症やな w どうやったらこんなつまんないレスを返せるんだよ...
重症やな w ひょっとしてガチが若いとか思ってるんじゃないよな w 若いと思ってるっつーか実際若いしな
ガチとか使う奴=低脳、バカっぽいって発想がオッサンぽい >>838
ごめん、どうみてもお前の方がおっさんだよ ww アスペクト指向プログラミングってのは具体的にどんなのかよく分からんわ
興味ないから おっさんは知識と経験と優しさでできています
残りの9割は脂肪です おっさんは別に嫌いじゃないけど>>838みたく勘違いしてる奴はキモい やっぱり青木 淳いいな
若い時に心酔して、経験積むうちに忘れていたが
ようやく言わんとすることが分かつて来た 2ちゃんねる自体、どこかの機能でデザインパターンつかわれてるの? クラス図とER図の違いって継承関係が
あるかないかだと思ってるんだけど、
DBのテーブルって継承はないわけじゃん、
継承とか知識レベル/操作レベルってDB設計的には
どう対応するの? いや、>>856が知らないだけで、ERモデリング技法にも
継承に相当するサブセット(部分集合)の表現は存在している
明らかに欠けているのはメソッド(ストアドプロシージャ)かな CRUDは外部的だね
データ保護に対しては各種制約を設けるしかない
それらを言語側で埋めるのがORマッピングだったりDAOパターンだったり >>857
いやそれは分かったが実際のテーブルはどうするんだよ
親クラスと 子クラスA 子クラスBのテーブル全部別々に
作るの?
ここでいいう親子は継承の親子関係のことで
外部キーでの関連のことではないものとする。 考え方次第かな?
一つのテーブルに全カラム持たせるか差分情報だけのテーブルを連結するか オブジェクト指向の考え方を教えてください
指定した2点を通る線を描画するプログラムを作ろうと思っています。
・色
・線の太さ
こんなプロパティを持つクラス「DrawLine」を考えています。
さらにこのクラスを継承を用いて
・2点間のみ線を引く線分クラス
・2点を通る直線クラス
・2点のうち片方を始点に持つ半直線クラス
を派生させようかと思っています。
これとは別に描画のインターフェースを担うクラス「LineInterface」を用意しようと思っています
・線を引く
・線を消す
・2点の位置を変更を受け付ける
・色の変更を受け付ける
・線の太さの変更を受け付ける
・線分、直線、半直線の変更を受け付ける
さて、ここで疑問なのですが、インターフェースを担うクラス「LineInterface」は
内部に色や線の太さ、線分・直線・半直線の状態を記憶するbool値型のフラグ
ないしはenum型の値(線分・直線・半直線)を持つべきでしょうか?
最初はこの手のフラグには頼らない設計を心がけてみました。
色、線の太さ、線分・直線・半直線、これらの状態が変更されるたびに
クラス「DrawLine」のインスタンスを作成し直せばいいと思ったからです。
ただすぐに壁にぶち当たりまして、たとえば色を変更しようと思いクラス「DrawLine」の
インスタンスを作り直そうと思ったとき、それが線分クラスなのか半直線クラスなのか
直線クラスなのかは状態を記録しておかないと判断できないことに気付きました。
インターフェースクラスには最低限の内部状態はbool値enum値フラグとして保持しておくべきでしょうか? まず>>862を先に読んで「もっと何か具体的に言ってやれよw」と思ったが
その後>>861を頑張って読んだら、言いたい事は既に>>862に書いてあった 長文書いてしまう人はもうちょっと図や箇条書きして考えまとめた方がいいな とりあえずC#で書くとこんな感じか
class abstract LineBase{
public float width{get; private set;}
public Color color{get; private set;}
public Point start{get; private set;}
public Point end{get; private set;}
// 初期値をセット
public LineBase(引数){}
public LineBase(LineBase instance){}
// 共通メソッドを実装
public void SetWidth(int width){}
public void SetColor(Color col){}
public void SetPoint(Point start, Point end){}
public void Eraser(){}
public virtual void Draw(){} // 仮想メソッド
}
class SegmentLine: LineBase{
public SegmentLine(引数): base(引数){}
public SegmentLine(LineBase instance): base(instance){}
public overrider void Draw(){} // 線分の描画処理を実装
}
class StraightLine: LineBase{
public SegmentLine(引数): base(引数){}
public SegmentLine(LineBase instance): base(instance){}
public overrider void Draw(){} // 直線の描画処理を実装
} ■ このスレッドは過去ログ倉庫に格納されています