OOP 2

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2011/01/23(日) 14:04:00
お、何、その人すごいね。
やたら「日本では」「日本だけでは」を強調するのが鼻にかかるけど。
外国の一般的企業の実践例、風潮を知った上で言っているのなら、
それなりの信憑性あるソースなり、体験談を語って欲しいところ。
EAAを真面目に考えようとしている人は凄い共感もてるわ。
953デフォルトの名無しさん:2011/01/23(日) 14:04:24
>>950
その記事読んだ、大笑いした後に、マジか!! と考えてしまった。
COBOLは強い影響力があるんだな〜
954デフォルトの名無しさん:2011/01/23(日) 16:33:44
片手間にやってる試験なのに、真面目にになる方がアホだよ。
大人だったら流せよな。愚民代表がそんなに楽しいのかね。よーわからん。
955デフォルトの名無しさん:2011/01/23(日) 16:47:41
>>954
問題提起なんだから。大人だったら分かるよな。
2chで「試験問題が糞過ぎる件wwww」ってスレ立てるのとは違うんだよ。
956デフォルトの名無しさん:2011/01/23(日) 18:54:23
>>952
「SI業界」という言い方だと全世界的にそうなのか、という話になるから、
筆者が実体験としても分かる範囲である「日本の」と限定してるだけだろ。
957デフォルトの名無しさん:2011/01/23(日) 19:49:02
余計なこと書いて悪かった。
単純に日本は、日本ではって言葉が多すぎるのが鼻についただけだ。
958デフォルトの名無しさん:2011/01/23(日) 21:09:35
実際ググって出てくる英語の掲示板とか見ても
レベルは日本と似たり寄ったりでがっかりすることが多い




あきらめたら終わり
満足してしまっても終わり
959デフォルトの名無しさん:2011/01/29(土) 08:13:49
>>948
組むだけなら、それが正解。
しかし保守を考えたらOCPが適応しやすいOOになる。

あとは規模でも違ってくる。
小規模や社内向けアプリなら、大半のアプリはOO以外でも大丈夫。

まっ、最近はここの住人みたいに技術が無い人間が多いから
OO以外が無難。
960デフォルトの名無しさん:2011/01/29(土) 10:55:39
「保守」というと、ソフトを書くという本題と関係ない、みたいに思う奴が多そうだが、
つまり、要求の変化に対応するための改良ということであって、開発とは不可分。

書き捨てでいいならそれでもいいんだが、そんなのちょっとしたスクリプトくらいのもんだな。
961デフォルトの名無しさん:2011/01/29(土) 13:43:52
>>960
OO の場合
要求の変化 -> 処理の変化 -> ラッパライブラリの差し換え
なら対応できるけど,
要求の変化 -> 処理の変化 -> 末端ライブラリの根本的見直し -> 全滅
じゃ、ねえの?
962デフォルトの名無しさん:2011/01/29(土) 13:47:25
>>960
ここいうスレを大規模開発のスキルのある人が牛耳る。
しかも、ソフト開発というのはこういうものだという決めつけ
を付けて。だけどまてよ、OOを採用するにしても、
個人レベルもあれば、小企業の社内向けのものもある。
こういうものは、共同開発自体が必要無いものが多い。
保守というが、一度納入されたアプリの変更はありえない、
というものが大半。これではOOの利点の多くが要件に
ないということになる。こういうケースでもOOPは使われて
いるのであって、ある程度はそのことも念頭に入れた議論
が必要ではないか。
963デフォルトの名無しさん:2011/01/29(土) 15:42:45
>>962
おまえはもう少し要点をまとめる書き方を勉強しろ。
964デフォルトの名無しさん:2011/01/29(土) 16:29:23
それで全滅しない言語教えてくれ
965959:2011/01/29(土) 19:02:25
>>960
その通りだな。
>ソフトを書くという本題と関係ない、みたいに思う奴が多そうだが、
俺が思うには多分理解出来ないだろう、本を読んでもこればかりは
経験を積まないと技術者として物にならない。
みんな書籍からの知識をひけらかしたいだけだろうな。

>>961
>要求の変化 -> 処理の変化 -> 末端ライブラリの根本的見直し -> 全滅
>じゃ、ねえの?
960じゃないが、それは保守じゃなくリプレースな。

>>962
>ある程度はそのことも念頭に入れた議論
>が必要ではないか。
そうだな、だがみんな経験が無いから議論出来ないんだよ。

しかし、OOを理解してない奴は保守以外にOOを何に使っているんだ?
あとは共通部品やライブラリーぐらいか?
それだと開発の一部だけOOを適用すれば済む話だしな。
まっ本人がOOと思っているだけでOOじゃ無いかもしれんがw
966デフォルトの名無しさん:2011/01/29(土) 19:12:30
そもそも多態がない言語なんて、開発自体が辛いと思うようになった
967デフォルトの名無しさん:2011/01/29(土) 21:08:12
>>965
そうですね。
本人がOOと思ってるだけでOOではないのかもしれません
968959:2011/01/29(土) 22:06:05
>>967
>本人がOOと思ってるだけでOOではないのかもしれません
まっ簡単に見分けることは出来るがな。
実行時のオブジェクト数が1000以下なら、まずOOじゃない。
OOが出来ない奴はオブジェクトを関数みたいな作りにするからな。
969デフォルトの名無しさん:2011/01/30(日) 02:28:29
>>962
> 個人レベルもあれば、小企業の社内向けのものもある。
> こういうものは、共同開発自体が必要無いものが多い。

開発という行為は、三日前の自分と現在の自分との共同開発だと考えることもできる。
個人レベルでも、少人数開発でも、OOのメリットはあると思うよ。

> 一度納入されたアプリの変更はありえない

「アジャイル」という開発手法があってだな。
970デフォルトの名無しさん:2011/01/30(日) 02:48:26
なんだかんだいって、みんな最後はC言語に戻ってくるのさ。
971デフォルトの名無しさん:2011/01/30(日) 02:55:42
>>970
夢がないこと言わないでw
972デフォルトの名無しさん:2011/01/30(日) 03:19:39
Cだとやっぱり機能が足りない。
C++は無駄な拡張しすぎ。
難しいね。
973デフォルトの名無しさん:2011/01/30(日) 05:59:23
C++はPerl6みたいなもんだわ
付け焼刃のOOPもどきじゃ駄目だよ
974デフォルトの名無しさん:2011/01/30(日) 07:41:15
どこと付け焼刃といってるのか
C++はCにSimulaの機能を追加しようとした正統な言語だよ。
その後のマルチパラダイム路線がきついが。
975デフォルトの名無しさん:2011/01/30(日) 10:34:42
そこでObjecti...おや、誰か来たようだ
976デフォルトの名無しさん:2011/01/30(日) 11:09:17
>>968
わかる、オブジェクト指向が出来ない人間は
1つのクラスに一つのインスタンスしか作らないからな。
会社に大勢いるよ。
977デフォルトの名無しさん:2011/01/30(日) 11:28:36
答えがないからみんな俺のがオブジェクト指向、あいつは馬鹿って感じ。
978デフォルトの名無しさん:2011/01/30(日) 12:16:19
OOが上手く実装さらているかは別にしても
オブジェクトが少ないんだから
プログラムが”オブジェクト”を”指向”して作られていないのは確かだな。

>>977
お前のつくっているプログラムはOOPで作っている構造化プログラムだからw
979デフォルトの名無しさん:2011/01/30(日) 12:43:57
980デフォルトの名無しさん:2011/01/30(日) 12:50:04
C++「Javaがやられたようだな…」
Smalltalk「ククク…奴はOOPL四天王の中でも最弱…」
ObjectCOBOL「構造化ごときに負けるとはOOPLの面汚しよ…」
981デフォルトの名無しさん:2011/01/30(日) 13:07:20
構造化もOOPの一部分なのになに言ってるんだ・・・
982デフォルトの名無しさん:2011/01/30(日) 13:10:11
               ∩_
              〈〈〈 ヽ
      ____   〈⊃  }
     /⌒  ⌒\   |   |
   /( ●)  (●)\  !   !
  / :::::⌒(__人__)⌒:::::\|   l
  |     |r┬-|       |  / <こいつ最高にアホだお
  \     ` ー'´     //
  / __        /
  (___)      /
983デフォルトの名無しさん:2011/01/30(日) 14:11:49
OO, OO って, 言ってるやつらに鍵って,
「 不必要な状態変数を持ち込みたがる」
のはなぜですか?
984デフォルトの名無しさん:2011/01/30(日) 14:58:32
ちょっとどのレベルの話しているか分からん。
字義通り取れば、不必要なものを持ち込むのは単なる設計・モデリングミスだろう。
イミュータブルで副作用のないコーディングを目指すべきだというのならば、
理想としては同意する。ただし、業務アプリにおいてそれを実現する方法を俺は知らない。
だから、ステートパターンなんかでワークアラウンドな対応を取る。
985デフォルトの名無しさん:2011/01/30(日) 15:22:17
>>984
おまえさんみたいのは全然安心
でも, 現場は, 不必要な状態変数を持ち込みたがるやつが多すぎ
で, 結局, class/object に閉じ込められたグローバル変数のてんこ盛り
なんのためのOO ?
986デフォルトの名無しさん:2011/01/30(日) 15:27:18
質問。

図書館やレンタル店どっちでも良いが
未返却一覧を画面に表示する場合のオブジェクトの種類はどれだけ作成するか。
1.画面オブジェクトのみ。
2.画面オブジェクト+顧客情報オブジェクトX未返却者数分。
3.画面オブジェクト+顧客情報オブジェクトX未返却者数分+商品X未返却商品数分。
987デフォルトの名無しさん:2011/01/30(日) 15:29:03
>>986
そんなもんbackendが何かにっよって変わるだろ?
988デフォルトの名無しさん:2011/01/30(日) 15:32:57
>未返却一覧を画面に表示する
これはOO的ではなく、手順的(構造化的)
989デフォルトの名無しさん:2011/01/30(日) 15:49:12
>>986
それ自体がドメインとなる要素なんであれば、
未返却一覧Repositoryを作る方法もあるって、ファウラー先生がRTしてた。
List<未返却> 未返却 = 未返却一覧Repository.getAll();でおしまい。

種類なのか、前のオブジェクト数1000云々に対抗してるのか不明だけど、
これを実装するとしたら
画面、画面コントローラー、Repository(Service Class)、dao、Domain Object(Entity)が一般的じゃね。
990デフォルトの名無しさん:2011/01/30(日) 15:52:53
>List<未返却> 未返却 = 未返却一覧Repository.getAll();でおしまい。
ごめん、間違い。
List<貸出商品> 未返却 = 未返却一覧Repository.getAll();でおしまい。
991デフォルトの名無しさん:2011/01/30(日) 16:42:40
>>987
>そんなもんbackendが何かにっよって変わるだろ?
簡単に書きすぎたか?RDBよりデータ取得して画面に出力ようなイメージだったが。

>>988
>これはOO的ではなく、手順的(構造化的)
手続き型と言いたいのか?それなら
1.RDBよりデータを取得して
2.画面一覧にデータ設定して
3.・・・
見たいのが手続きと言うだが、
>未返却一覧を画面に表示する
は4GL的に宣言として書いていると思うが。

>>989
>未返却一覧Repositoryを作る方法もあるって、ファウラー先生がRTしてた。
なるほど、マーチンはそんなことを言っているのか。
>種類なのか、前のオブジェクト数1000云々に対抗してるのか不明だけど、
オブジェクト数の話で、話を振ってみた。

>画面、画面コントローラー、Repository(Service Class)、dao、Domain Object(Entity)が一般的じゃね。
なるほど、しかしそれはクラスの数では?

OOPで作と2か3になると思うが、OOPが出来ない奴は1で作る方が多い。
普通にRDBからデータを取得してO/Rマッピングしないでそのまま表示する。
実際職場でも、こんな感じで作ってある場合が多い、OOPじゃないが別に
そこまで凝る必要もないような気もするし。

話は変わるけどマーチンのアナリシスパターンは何回読んでも理解出来ない...
992デフォルトの名無しさん:2011/01/30(日) 17:48:22
RDBとOOPの相性の悪さは半端ないぜ
993デフォルトの名無しさん:2011/01/30(日) 17:49:27
OOPでなんでstatic変数があるのか理解できない
994デフォルトの名無しさん:2011/01/30(日) 17:54:57
Singletonのためw
static変数が無いと結構不便かも。
995デフォルトの名無しさん:2011/01/30(日) 17:57:26
無いと不便だと思うけど、
無いなら無いで、なんとかなるのかも。
996デフォルトの名無しさん:2011/01/30(日) 18:10:42
Scalaとか、static無くなして代わりにSingleton用の記法にしちゃったしな。
997デフォルトの名無しさん:2011/01/30(日) 18:13:12
上位からオブジェクト渡せばstaticいらないのに
998デフォルトの名無しさん:2011/01/30(日) 18:19:30
正しくは「渡しまくれば」だな。
999デフォルトの名無しさん:2011/01/30(日) 18:36:52
>>992
Java とか C++ って、
class ParsistentClass extends ParsistentMetaClass {
// define class members
}
とか、かいておいて、あとはライブラリがよきに計らってくれるような仕組みってないの?
1000デフォルトの名無しさん:2011/01/30(日) 18:40:46
おしまい
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。