オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1uy ◆e6.oHu1j.o
垢版 |
2016/07/09(土) 00:35:13.95ID:Mn3UGZ+O
前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465636703/
2017/08/06(日) 22:52:29.30ID:isAQXJHa
全然読んでないけど今までの経験から察するにsmalltalkerが悪い
2017/08/07(月) 10:41:09.68ID:5dT6JRJH
>>978
ビジネスロジックはModelには実装しないだろといいだした奴が元凶
2017/08/07(月) 19:45:10.29ID:90fIiSpa
Modelって言っても色々あるからな
ViewModel InputModel DocumentModel DomainModel ServiceModel DataModel...
ロジックの集合体みたいなものから振る舞いを持たないDTOまでなんでもあり
オブジェクト指向を知ってるプログラマだと
、ビジネスロジックと言えば主にDomainModelなのでModelはビジネスロジックを持つ、となる
手続き型から脱却できていない人にとっては、ModelとはなんらかのDTOつまりただのデータ集合のことだからModelはビジネスロジックを持たない、ロジックはトランザクションスクリプトに書くものだ、となる
このスレの人間はオブジェクト指向信者が多いが、あの人を代表に敬虔な手続き型信者も紛れ込んでいる
2017/08/07(月) 22:54:05.41ID:PU2i/+ft
オブジェクト指向と云ふは死ぬ事と見つけたり
2017/08/07(月) 23:59:19.17ID:ZYg+qYF7
大体のオブジェクト指向言語は手続き型だろ
2017/08/08(火) 00:03:17.12ID:YEtK8aM1
>>983
え?
2017/08/08(火) 01:18:07.30ID:jXIjDDES
>>984
オブジェクト指向っていうのは構造なんで
処理は別にあるんだよ。

処理は手続き型 or 関数型の二種類が多く使われてる

オブジェクト指向 + (手続き型 or 関数型)で
プログラミングするのが今の主流
2017/08/08(火) 10:22:48.17ID:ZsjYzbGD
>>983
> 手続き型プログラミングでは、プログラミングはデータ構造とルーチンの集合に分割される。
> 一方オブジェクト指向プログラミングでは、プログラミングはオブジェクトに分割される。
https://ja.wikipedia.org/wiki/%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
987
垢版 |
2017/08/08(火) 10:33:15.83ID:y4ztJzgK
>>986
その中の、「メソッド」まで見てみた?
あるクラスまたはオブジェクトに存在するサブルーチン、とあって、手続き的な指向までは排斥されてないよ。
2017/08/08(火) 11:00:31.01ID:ZsjYzbGD
>>987
お前とは会話できんわ
2017/08/08(火) 12:30:47.84ID:m8GLf68F
つまり、このスレで手続き爺手続き爺って言ってたやつは
自分はアホですって自己紹介していたようなものって事だな

だってこういう場合、普通は手続きって言葉は使わない
パラダイムの世代を表したいなら「構造化言語」って言葉を使うのが普通だ
手続きって言った場合は、関数型に対する手続き型の意味合いがあるからな
2017/08/08(火) 12:39:32.38ID:m8GLf68F
それと、巷のオブジェクト指向言語(Java C# C++ etc)が手続き型って認識が無いから
アホみたいな発言を繰り返してしまうってのもあるだろうな
メソッドを呼びあって相互作用する「手続き」を「プログラム」する
ってのが分かってない
OOPだろうが結局バグを生まないために一番大事なのが「処理の順番を守ること」である以上
手続き型としか言いようがない
2017/08/08(火) 12:44:18.16ID:m8GLf68F
まぁOOPはカプセル化とか、ある程度は保護してくれるけど
メソッド呼び出しの順番やタイミングを誤ったことをコンパイル時に知らせてくれる
な〜んて事は無いので
結局手続き型の、手続きを守らなければならないという
一番の弱点が残っている以上はOOPも手続き型に違いないわけだ
2017/08/08(火) 13:14:56.95ID:m8GLf68F
で、この話は>>412
呼び出してはいけないタイミングでメソッドが呼び出されたらどうする?
って話につながる、というか、戻る

副作用があって処理の順番にプログラムの結果が依存する
手続き型一般にありがちな問題といえる

これを言語仕様で克服できてないということは
JavaもC#もC++も手続き型ということ
手続き型の欠点をそのまま受け継いでいるから
欠点を受け継いでいる以上は無視できない
2017/08/08(火) 13:15:17.67ID:qcoC0xc5
>>991
順番やタイミングといった動的なものを
コンパイルという静的な視点でエラーにするパラダイムがあるの?
コンストラクタとかあるタイミングで何かを保証するルールならわかるけど
2017/08/08(火) 13:19:47.32ID:m8GLf68F
>>993
無いから「手続き型」だと言ってる
欠点をそのまま受け継いでいるから

ただ、順番やタイミングから逃れられる方式もあって、それが関数型なわけだけど
逆にそれが出来る関数型が存在しているからこそ
順番やタイミングに依存する方式は、より一層、手続き型臭いといえるわけだ
2017/08/08(火) 13:21:38.56ID:qcoC0xc5
>>994
その関数型の実装例を教えて下さい
2017/08/08(火) 13:26:58.10ID:m8GLf68F
関数型はそれが出来るというより
意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
2017/08/08(火) 13:35:10.92ID:qcoC0xc5
さっぱりわからない
2017/08/08(火) 13:54:08.20ID:KgKYlFLH
システムの設計について書くやつと言語仕様について書くやつが居てちぐはぐだな
2017/08/08(火) 14:05:36.48ID:qcoC0xc5
つまり存在は証明できないが神はいるってことか
関数型って宗教だったんだ
2017/08/08(火) 14:50:32.01ID:m8GLf68F
何言ってんだ?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 395日 14時間 15分 19秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況