前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465636703/
オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1uy ◆e6.oHu1j.o
2016/07/09(土) 00:35:13.95ID:Mn3UGZ+O452あ
2017/07/14(金) 19:32:40.05ID:vN8eqjVV453デフォルトの名無しさん
2017/07/14(金) 20:52:39.28ID:TBQIVSbV 拗らせちゃった感あるな
例を変えてタスククラスで考えよう
タスククラスの状態は
TODO 作業予定
DOING 作業中
DONE 終了
可能な状態遷移はこれだけ
TODO -> DOING -> DONE
DONEから手戻りでDOINGに戻るかもしれない
とかそういうツッコミはなし
このドメインではとにかく上記の遷移しか許されない
そしてこのシステムはシングルユーザーを想定していて権限の問題は考慮しない
TODOの時のみBeginTaskを実行可能
DOINGの時のみEndTaskを実行可能
どう設計する?
例を変えてタスククラスで考えよう
タスククラスの状態は
TODO 作業予定
DOING 作業中
DONE 終了
可能な状態遷移はこれだけ
TODO -> DOING -> DONE
DONEから手戻りでDOINGに戻るかもしれない
とかそういうツッコミはなし
このドメインではとにかく上記の遷移しか許されない
そしてこのシステムはシングルユーザーを想定していて権限の問題は考慮しない
TODOの時のみBeginTaskを実行可能
DOINGの時のみEndTaskを実行可能
どう設計する?
454デフォルトの名無しさん
2017/07/14(金) 23:21:15.43ID:MTLV3Z4y TodoTask型
DoingTask型
DoneTask型
を定義しろ
func(task : TodoTask)
にDoneTaskを渡そうとしたらコンパイルエラーで弾ける
これがオブジェクト指向だ
DoingTask型
DoneTask型
を定義しろ
func(task : TodoTask)
にDoneTaskを渡そうとしたらコンパイルエラーで弾ける
これがオブジェクト指向だ
455デフォルトの名無しさん
2017/07/14(金) 23:43:22.26ID:iN4cnX21 >>453
TODO以外の時にBeginTaskを実行するコードはコンパイルエラー?
コンパイルは通るけどコールする前に実行時エラー?
コンパイルもコールもできるけどオブジェクトが実行時エラー?(あるいは黙殺?)
TODO以外の時にBeginTaskを実行するコードはコンパイルエラー?
コンパイルは通るけどコールする前に実行時エラー?
コンパイルもコールもできるけどオブジェクトが実行時エラー?(あるいは黙殺?)
456あ
2017/07/15(土) 15:14:08.21ID:l4jBJff8 無駄過ぎるだろ。
結局そのタスク同士を変換(処理)する奴は、別のアクターでしょ
結局そのタスク同士を変換(処理)する奴は、別のアクターでしょ
457デフォルトの名無しさん
2017/07/15(土) 15:50:44.23ID:MQgunk1n public class TaskService : ITaskService {
private IRepository<Task> _tasks;
public TaskService(IRepository<Task> tasks) { _tasks = tasks; }
// インターフェース分離の場合
public void BeginTask(TaskId id) {
IToDoTask todo = _tasks.FindToDo(id);
IDoingTask doing = todo.BeginTask(); // ToDoじゃなければnullpo
_tasks.Store(doing);
}
// インターフェース共通の場合
public void BeginTask(TaskId id) {
ITask task = _tasks.Find(id);
task.BeginTask(); // ToDoじゃなければInvalidState
_tasks.Store(task);
}
この程度だと使う側から見てもどっちも大差ないな
シンプルさと失敗の原因がわかりやすいだけ下の方がいいか
夜間バッチのようにもっと長くて複雑な手続きならIToDoTask、IDoingTask、IDoneTaskに分離した方が型安全で書きやすいかもしれん
private IRepository<Task> _tasks;
public TaskService(IRepository<Task> tasks) { _tasks = tasks; }
// インターフェース分離の場合
public void BeginTask(TaskId id) {
IToDoTask todo = _tasks.FindToDo(id);
IDoingTask doing = todo.BeginTask(); // ToDoじゃなければnullpo
_tasks.Store(doing);
}
// インターフェース共通の場合
public void BeginTask(TaskId id) {
ITask task = _tasks.Find(id);
task.BeginTask(); // ToDoじゃなければInvalidState
_tasks.Store(task);
}
この程度だと使う側から見てもどっちも大差ないな
シンプルさと失敗の原因がわかりやすいだけ下の方がいいか
夜間バッチのようにもっと長くて複雑な手続きならIToDoTask、IDoingTask、IDoneTaskに分離した方が型安全で書きやすいかもしれん
458デフォルトの名無しさん
2017/07/15(土) 21:56:19.07ID:rZ7c1Y9a459デフォルトの名無しさん
2017/07/16(日) 02:42:35.12ID:1fICcUqx >>458
Javaしか知らない人には気持ち悪く見えるのかな??
Javaしか知らない人には気持ち悪く見えるのかな??
460デフォルトの名無しさん
2017/07/16(日) 03:08:15.64ID:qSnPeHti >>458
ガイジキタ━━━━(゚∀゚)━━━━!!
ガイジキタ━━━━(゚∀゚)━━━━!!
461デフォルトの名無しさん
2017/07/16(日) 10:47:57.09ID:ldCi3V7A ScalaでもKotlinでもないよね
GaijiLangか?
GaijiLangか?
462デフォルトの名無しさん
2017/07/16(日) 10:51:14.26ID:RX5Mjx4x c#
463デフォルトの名無しさん
2017/07/16(日) 10:52:29.76ID:e3NckIIY C#じゃね?
464デフォルトの名無しさん
2017/07/16(日) 11:01:10.05ID:Unh0LZY1465デフォルトの名無しさん
2017/07/16(日) 11:34:00.12ID:nvinih80 今どきprivateを_ってどうなの
メソッド名頭大文字ってどうなの
それがC#流なの?
メソッド名頭大文字ってどうなの
それがC#流なの?
466デフォルトの名無しさん
2017/07/16(日) 11:40:36.98ID:nwmbN5p0 >>465
巣に帰りましょうね
巣に帰りましょうね
467デフォルトの名無しさん
2017/07/16(日) 11:45:59.90ID:qSnPeHti >>465
だから何?
だから何?
468デフォルトの名無しさん
2017/07/16(日) 11:48:22.11ID:nvinih80 M$のケツ穴舐めて忠誠を誓うような糞言語は使いたくないね
469デフォルトの名無しさん
2017/07/16(日) 11:56:53.89ID:6w5BkJrH 特定の会社の言語を使うだけで忠誠って大袈裟だなぁww
470デフォルトの名無しさん
2017/07/16(日) 11:59:04.69ID:nwmbN5p0 君はそれでいいよ
バイバイ
バイバイ
471デフォルトの名無しさん
2017/07/16(日) 12:00:26.72ID:nvinih80 ウィン鯖にチンパンジーのアイアイエスでM$にライセンス料払うのウレピィィイしてろ奴隷
472デフォルトの名無しさん
2017/07/16(日) 12:07:46.78ID:HsIBOF22 >>471
たまにでいいから知識をアップグレードしたほうがいいぞ
たまにでいいから知識をアップグレードしたほうがいいぞ
473デフォルトの名無しさん
2017/07/16(日) 12:32:39.91ID:RX5Mjx4x474あ
2017/07/16(日) 12:50:28.30ID:v455lTXc >>464
変な言い方になったのは認めるわ…。
注文のトランザクションと、注文行為のトランザクションは別では、と言う感じ。
そこを疎にしておくと負荷上がってきたときに分割しやすいし、データの不整合起こしにくいし、不整合起きちゃった時に原因探しやすい。
注文行為自体はいくらでも上げれるけど、確定していくのはジョブが全部対応するとか。
物のオーダーじゃないけどオーダリングシステムでそういうの作ったときは、すべてのオペレーションはすべてジョブコントローラーへのキューイングで、結果はジョブコントローラーに全部に作らせてた。
変な言い方になったのは認めるわ…。
注文のトランザクションと、注文行為のトランザクションは別では、と言う感じ。
そこを疎にしておくと負荷上がってきたときに分割しやすいし、データの不整合起こしにくいし、不整合起きちゃった時に原因探しやすい。
注文行為自体はいくらでも上げれるけど、確定していくのはジョブが全部対応するとか。
物のオーダーじゃないけどオーダリングシステムでそういうの作ったときは、すべてのオペレーションはすべてジョブコントローラーへのキューイングで、結果はジョブコントローラーに全部に作らせてた。
475デフォルトの名無しさん
2017/07/16(日) 13:01:42.61ID:nvinih80476デフォルトの名無しさん
2017/07/16(日) 13:06:11.96ID:ZuJ+SqAA >>475
技術的な話についていけないんだったら、無理に書き込まなくていいんだぞ?
技術的な話についていけないんだったら、無理に書き込まなくていいんだぞ?
477デフォルトの名無しさん
2017/07/16(日) 13:48:09.56ID:nvinih80 >>476
ブーメラン自分の頭に突き刺して楽しいか?
ブーメラン自分の頭に突き刺して楽しいか?
478デフォルトの名無しさん
2017/07/16(日) 14:20:49.00ID:RX5Mjx4x >>477
技術的な話についていけないんだったら、無理に書き込まなくていいんだぞ?
技術的な話についていけないんだったら、無理に書き込まなくていいんだぞ?
479デフォルトの名無しさん
2017/07/16(日) 14:29:18.90ID:u/+2FOpe 発注はしたけど受注は出来なかったって言いたいのだろうが
コーダーって一般常識がないからこういう些細なとこで詰んじゃうよね
コーダーって一般常識がないからこういう些細なとこで詰んじゃうよね
480デフォルトの名無しさん
2017/07/16(日) 14:32:34.32ID:ksC8m8Yx サンプルに粘着して延々と揚げ足取りする人って根本的な要件を理解する能力が著しく欠如してるんだろうね
判断力が必要な仕事を任せられないタイプ
判断力が必要な仕事を任せられないタイプ
482デフォルトの名無しさん
2017/07/16(日) 14:49:02.54ID:TnyT7/ON オブジェクトの状態管理に限界を感じた僕は状態を廃止してイベントを定義するのであった
483あ
2017/07/16(日) 14:53:20.80ID:v455lTXc 注文って言葉が動詞にも名詞にもなるから話が散らかるんだが、
受注に対するのは発注でしょ。
発注も受注もキューイングする処理として作って、その可否はジョブが判断する。
名詞の方の注文は、独立して存在してて、それはジョブが淡々とキューされた処理に従って処理してったり、トランザクションエラーならそうマークしていく。
どの状態の場合は、誰が何が出来る、をバラバラに作ると収拾がつかなくなる、って事が言いたい。
受注に対するのは発注でしょ。
発注も受注もキューイングする処理として作って、その可否はジョブが判断する。
名詞の方の注文は、独立して存在してて、それはジョブが淡々とキューされた処理に従って処理してったり、トランザクションエラーならそうマークしていく。
どの状態の場合は、誰が何が出来る、をバラバラに作ると収拾がつかなくなる、って事が言いたい。
484デフォルトの名無しさん
2017/07/16(日) 15:31:34.69ID:J7GQwUvr >>483
君がコマンドのキューイングが好きなのは伝わったけどそれ今は全く関係ないよ
そしてそもそもお題は認可の話じゃない
ドメインモデルに定義された不変条件の話をしているんだよ
不変条件を担保するのはドメインモデルの仕事であって認可システムじゃない
誰が何をできるかを管理するのが認可システムの仕事だ
君が大好きなジョブ(トランザクションスクリプト)の場合に当てはめても根本的なところは同じね
データの不変条件を担保するのはジョブの仕事
この場合でも誰が何をできるかは認可システムの領分だ
君の間違いは不変条件と認可という全く異なる次元の話をごちゃ混ぜにして一箇所で管理しようとしたことだよ
君がコマンドのキューイングが好きなのは伝わったけどそれ今は全く関係ないよ
そしてそもそもお題は認可の話じゃない
ドメインモデルに定義された不変条件の話をしているんだよ
不変条件を担保するのはドメインモデルの仕事であって認可システムじゃない
誰が何をできるかを管理するのが認可システムの仕事だ
君が大好きなジョブ(トランザクションスクリプト)の場合に当てはめても根本的なところは同じね
データの不変条件を担保するのはジョブの仕事
この場合でも誰が何をできるかは認可システムの領分だ
君の間違いは不変条件と認可という全く異なる次元の話をごちゃ混ぜにして一箇所で管理しようとしたことだよ
485デフォルトの名無しさん
2017/07/16(日) 15:46:04.82ID:J7GQwUvr 認可システムを取り除いた状態のシステムを考えて欲しい
ゲストユーザーも一般ユーザーも特権ユーザーも存在しない
誰であっても全てのサービスを実行することができる
ならばこのシステムは全てのデータを自由に書き換えられるのか?
そうではないだろう
認可処理が全くないからと言ってなんの統制もなくデータを書き換えればすぐにデータは矛盾して壊れてしまうはずだ
認可とは別次元で「こういう場合にはこういう処理はできない」といった条件が存在しなければシステムが崩壊してしまう
この条件のことを我々の業界では不変条件などと呼んでいる
不変条件と認可は全く関係なく分離して扱える2つの世界だ
これを一緒くたにジョブなどと曖昧な名前をつけて管理してはいけない
不変条件は不変条件、認可は認可
これらは分けて管理しないとすぐに混乱してしまう
ゲストユーザーも一般ユーザーも特権ユーザーも存在しない
誰であっても全てのサービスを実行することができる
ならばこのシステムは全てのデータを自由に書き換えられるのか?
そうではないだろう
認可処理が全くないからと言ってなんの統制もなくデータを書き換えればすぐにデータは矛盾して壊れてしまうはずだ
認可とは別次元で「こういう場合にはこういう処理はできない」といった条件が存在しなければシステムが崩壊してしまう
この条件のことを我々の業界では不変条件などと呼んでいる
不変条件と認可は全く関係なく分離して扱える2つの世界だ
これを一緒くたにジョブなどと曖昧な名前をつけて管理してはいけない
不変条件は不変条件、認可は認可
これらは分けて管理しないとすぐに混乱してしまう
486あ
2017/07/16(日) 16:28:44.18ID:bf3wtQLD >>484
うーん、認可って言葉に随分気持ちが持ってかれてるように見えるけど、
その不変条件自体が、システムの整合性を保つために設計者によって行われた「認可」そのものではないの?
ACLではない、と言いたいんだろうけど、俺の言ってるのもACLそのものじゃない。
>>485
認可条件が全くないなら、システムは崩壊する、
システムが崩壊しないならば、認可条件は全くなくは無い、
と対偶取っても大丈夫なように、
不変条件自体が、システムから与えられた認可なんよ。
しかも、不変条件は変更できない、という不変条件でいとも簡単に実装できる。
ジョブとかタスクがあるようなシステムでシステム作った事無いのかな?
うーん、認可って言葉に随分気持ちが持ってかれてるように見えるけど、
その不変条件自体が、システムの整合性を保つために設計者によって行われた「認可」そのものではないの?
ACLではない、と言いたいんだろうけど、俺の言ってるのもACLそのものじゃない。
>>485
認可条件が全くないなら、システムは崩壊する、
システムが崩壊しないならば、認可条件は全くなくは無い、
と対偶取っても大丈夫なように、
不変条件自体が、システムから与えられた認可なんよ。
しかも、不変条件は変更できない、という不変条件でいとも簡単に実装できる。
ジョブとかタスクがあるようなシステムでシステム作った事無いのかな?
487あ
2017/07/16(日) 16:54:43.58ID:bf3wtQLD ジョブと名前を付けてジョブで管理してるってどういう事かまだイマイチわからん。
ジョブはジョブで、巨大で膨大なキューが積まれるようなシステムでもない限り2つも3つも立てない、むしろ立てたらロック周り辛くなるからやりたくない、いわゆるジョブなんだけど。
ジョブは、一つのキューに対して、一つのアトミックな操作をする。その入力がオーダーとオペレーションの組み合わせで、そのオーダーとオペレーションによって、処理を行う、行わない、エラーにする、と処理をして、新しい状態のオーダーを記録する。
ただそれだけ。
シングルユーザでも同じ設計でやっとったがなぁ。
ってか書きながら思ったけど、今JSの世界で流行ってるReactのデータ周りそっくりだな。
ジョブはジョブで、巨大で膨大なキューが積まれるようなシステムでもない限り2つも3つも立てない、むしろ立てたらロック周り辛くなるからやりたくない、いわゆるジョブなんだけど。
ジョブは、一つのキューに対して、一つのアトミックな操作をする。その入力がオーダーとオペレーションの組み合わせで、そのオーダーとオペレーションによって、処理を行う、行わない、エラーにする、と処理をして、新しい状態のオーダーを記録する。
ただそれだけ。
シングルユーザでも同じ設計でやっとったがなぁ。
ってか書きながら思ったけど、今JSの世界で流行ってるReactのデータ周りそっくりだな。
488デフォルトの名無しさん
2017/07/16(日) 17:04:33.91ID:J7GQwUvr >>486
認可ではない
もしかして言葉が悪いのかな
「できる/できない」と表現すべきではなかったか
認可は「して良い/してはいけない」だな
して良い/していけないとは全く別の次元で、そもそもその処理そのものが成立するかしないかという判定があるだろう
それがモデルの不変条件だ
100円に20グラムを足すような処理は権限に関わらず成立しない
発注していない注文をキャンセルする処理は権限に関わらず成立しない
認可がなくてもシステムは成立する
全員が全ての機能を使用できるだけ
実際そういうシステムはいくらでもあるし作れるよ
認可がないとシステムが崩壊すると君が認識する理由はね
君の作るシステムは認可と不変条件がごちゃ混ぜになっているからだよ
認可ではない
もしかして言葉が悪いのかな
「できる/できない」と表現すべきではなかったか
認可は「して良い/してはいけない」だな
して良い/していけないとは全く別の次元で、そもそもその処理そのものが成立するかしないかという判定があるだろう
それがモデルの不変条件だ
100円に20グラムを足すような処理は権限に関わらず成立しない
発注していない注文をキャンセルする処理は権限に関わらず成立しない
認可がなくてもシステムは成立する
全員が全ての機能を使用できるだけ
実際そういうシステムはいくらでもあるし作れるよ
認可がないとシステムが崩壊すると君が認識する理由はね
君の作るシステムは認可と不変条件がごちゃ混ぜになっているからだよ
489あ
2017/07/16(日) 17:15:57.42ID:bf3wtQLD >>488
処理が成立しない事を、行っても良い、のであれば「認可ではない」と認めざるを得ないが、
「処理が成立しないからその処理を行うことは無い」のであれば、
処理を行うことがない理由は、「処理が成立しないから行ってはいけない」だけの話じゃん。
事実としては、100円に20グラムをどうしても足したいなら、そのロジック作るしかないんだから、もはやその置き場所が無いモデル化は余計に間違ってるとしか言い様が無いわ。
2ダース足して1個引くとか、単位系読み替え程度ならいくらでもホントにあるしな。
コード××100mgにコード○○を1アンプル足したものとかザラ。
俺のシステムは崩壊しないよw
そっちが「崩壊する」と言うから、対偶を取って見せただけなんだけど。
ごちゃまぜどころか、不変条件なのに変えなければいけない事すらあるんだから。運用では。
だから、不変条件は変更できない、なんて自己言及して定義してあるんだよ。
勝ちたいだけならもうやめとけよ。哀れだから。
処理が成立しない事を、行っても良い、のであれば「認可ではない」と認めざるを得ないが、
「処理が成立しないからその処理を行うことは無い」のであれば、
処理を行うことがない理由は、「処理が成立しないから行ってはいけない」だけの話じゃん。
事実としては、100円に20グラムをどうしても足したいなら、そのロジック作るしかないんだから、もはやその置き場所が無いモデル化は余計に間違ってるとしか言い様が無いわ。
2ダース足して1個引くとか、単位系読み替え程度ならいくらでもホントにあるしな。
コード××100mgにコード○○を1アンプル足したものとかザラ。
俺のシステムは崩壊しないよw
そっちが「崩壊する」と言うから、対偶を取って見せただけなんだけど。
ごちゃまぜどころか、不変条件なのに変えなければいけない事すらあるんだから。運用では。
だから、不変条件は変更できない、なんて自己言及して定義してあるんだよ。
勝ちたいだけならもうやめとけよ。哀れだから。
490デフォルトの名無しさん
2017/07/16(日) 17:23:09.26ID:J7GQwUvr >>487
わかってるよ
リクエストを受け取るとデータと処理のペアをキューイングする
ジョブがキューをポーリングして実際の処理を行う
っていう古臭いシステムの話でしょ
ぜんっぜん関係ないよね
キュー使おうがイベント使おうがAwait使おうが直列に処理しようが並列に処理しようが今の話題にとってはどうでもいいでしょ
わかってるよ
リクエストを受け取るとデータと処理のペアをキューイングする
ジョブがキューをポーリングして実際の処理を行う
っていう古臭いシステムの話でしょ
ぜんっぜん関係ないよね
キュー使おうがイベント使おうがAwait使おうが直列に処理しようが並列に処理しようが今の話題にとってはどうでもいいでしょ
491デフォルトの名無しさん
2017/07/16(日) 17:28:10.27ID:Unh0LZY1 >>483
> どの状態の場合は、誰が何が出来る、をバラバラに作ると収拾がつかなくなる、って事が言いたい。
「どの状態のときに何ができる/できない」と、「誰が何をできる/できない」をごっちゃにするなって
みんな言ってるのに、まだわからないかな
> どの状態の場合は、誰が何が出来る、をバラバラに作ると収拾がつかなくなる、って事が言いたい。
「どの状態のときに何ができる/できない」と、「誰が何をできる/できない」をごっちゃにするなって
みんな言ってるのに、まだわからないかな
492デフォルトの名無しさん
2017/07/16(日) 17:39:04.15ID:J7GQwUvr >>489
成立しないから行なっては「いけない」のではなくて
成立しないから行うことが「不可能」な
100円に20グラムを足すことは不可能なので実行しようがないので権限の問題ではない
ダースと個数は可換なので足し算引き算を定義することが「可能」で誰であっても実行「可能」だ
しかしそういう機能をユーザーによって実行して良いかどうかを切り替えたいならそれは認可の問題だ
しかし君のシステムでは定義することが可能かどうかを認可の問題にすり替えている
コードxx100mgにコードyyを1アンプル足すは「足す」の意味から違うじゃん
化学計算的な意味での足すじゃなく薬液を混ぜるの意味での「足す」
あるいは注文カートにxxとyyを足すといったようなパッケージング処理の「足す」
などそういった意味で「足す」だろう
そう意味での「足す」は実装可能で誰でも実行「可能」だ
そういう機能をユーザーによって実行して良いかどうかを切り替えたいならそれは認可の問題だ
しかし君のシステムでは定義することが可能かどうかを認可の問題にすり替えている
君のシステムは崩壊目前なので一度誰かにレビューしてもらった方がいい
成立しないから行なっては「いけない」のではなくて
成立しないから行うことが「不可能」な
100円に20グラムを足すことは不可能なので実行しようがないので権限の問題ではない
ダースと個数は可換なので足し算引き算を定義することが「可能」で誰であっても実行「可能」だ
しかしそういう機能をユーザーによって実行して良いかどうかを切り替えたいならそれは認可の問題だ
しかし君のシステムでは定義することが可能かどうかを認可の問題にすり替えている
コードxx100mgにコードyyを1アンプル足すは「足す」の意味から違うじゃん
化学計算的な意味での足すじゃなく薬液を混ぜるの意味での「足す」
あるいは注文カートにxxとyyを足すといったようなパッケージング処理の「足す」
などそういった意味で「足す」だろう
そう意味での「足す」は実装可能で誰でも実行「可能」だ
そういう機能をユーザーによって実行して良いかどうかを切り替えたいならそれは認可の問題だ
しかし君のシステムでは定義することが可能かどうかを認可の問題にすり替えている
君のシステムは崩壊目前なので一度誰かにレビューしてもらった方がいい
493デフォルトの名無しさん
2017/07/16(日) 17:40:22.64ID:7YnVXBSW > 「どの状態のときに何ができる/できない」と、「誰が何をできる/できない」をごっちゃにするなって
どの状態=ログインしているアカウントの状態
と考えれば、同じこと
どの状態=ログインしているアカウントの状態
と考えれば、同じこと
494デフォルトの名無しさん
2017/07/16(日) 17:50:14.74ID:7YnVXBSW >>486
> その不変条件自体が、システムの整合性を保つために設計者によって行われた「認可」そのものではないの?
違う。例えば構文が正しい場合のみコンパイラはコードをコンパイルするが
これは「コードが正しいと認可した」などとは言わない。
日本語の問題。日本語が間違っている。
> その不変条件自体が、システムの整合性を保つために設計者によって行われた「認可」そのものではないの?
違う。例えば構文が正しい場合のみコンパイラはコードをコンパイルするが
これは「コードが正しいと認可した」などとは言わない。
日本語の問題。日本語が間違っている。
495デフォルトの名無しさん
2017/07/16(日) 17:52:11.91ID:J7GQwUvr >>493
それはアカウントと他のものをごちゃ混ぜにした考え方
まずはそれを分離して考えてくれ
アカウントのできるできないと他のもののできるできないは別に考えよう
その上で今はアカウントの話をしてないのでそっちについては忘れよう
ただそれだけなんだけどなんでわからないかなぁ
それはアカウントと他のものをごちゃ混ぜにした考え方
まずはそれを分離して考えてくれ
アカウントのできるできないと他のもののできるできないは別に考えよう
その上で今はアカウントの話をしてないのでそっちについては忘れよう
ただそれだけなんだけどなんでわからないかなぁ
496デフォルトの名無しさん
2017/07/16(日) 17:53:47.54ID:7YnVXBSW 呼んではいけないメソッド
存在しないメソッド
使用が許可されてないメソッド
バグが有るメソッド
どのメソッドであっても(コンパイルエラーにならない場合は)
実行エラーになるが、その全てが認可エラーではない。
実行した結果、認可エラーになるものはあるが、
それは実行時エラーの特殊な場合
実行時エラーを継承して認可エラーを作るのであって
認可エラーを継承して、その他の実行時エラーを作るわけではない
存在しないメソッド
使用が許可されてないメソッド
バグが有るメソッド
どのメソッドであっても(コンパイルエラーにならない場合は)
実行エラーになるが、その全てが認可エラーではない。
実行した結果、認可エラーになるものはあるが、
それは実行時エラーの特殊な場合
実行時エラーを継承して認可エラーを作るのであって
認可エラーを継承して、その他の実行時エラーを作るわけではない
497デフォルトの名無しさん
2017/07/16(日) 17:54:20.87ID:J7GQwUvr そのうちE = mc^2はアインシュタインが認可した法則だ
などと言いだしそうだなこいつ
などと言いだしそうだなこいつ
498デフォルトの名無しさん
2017/07/16(日) 17:58:03.77ID:7YnVXBSW >>495
「どの状態のときに何ができる/できない」と、「誰が何をできる/できない」
この2つを分離するのは間違ってる。
どの状態?という、大きな枠組みとして状態のチェックが有り、
その状態チェックの中の一つとして
・数字チェック
・範囲チェック
・整合性チェック
・権限チェック
などがある。
誰が何をできる/できないというのも、
状態のチェックにすぎない。
「どの状態のときに何ができる/できない」と、「誰が何をできる/できない」
この2つを分離するのは間違ってる。
どの状態?という、大きな枠組みとして状態のチェックが有り、
その状態チェックの中の一つとして
・数字チェック
・範囲チェック
・整合性チェック
・権限チェック
などがある。
誰が何をできる/できないというのも、
状態のチェックにすぎない。
499デフォルトの名無しさん
2017/07/16(日) 18:06:19.68ID:7YnVXBSW もちろん、100円に20グラムを足すことは不可能とかいうのは
状態のチェックじゃないぞ。
まあ無理やり考えれば、あるオブジェクトがあって、
そのオブジェクトが数値だけではなく単位まで状態として持っているのであれば、
オブジェクトとオブジェクトの加算で状態(単位が同じであること)と
みなすことも可能だがねw
状態のチェックじゃないぞ。
まあ無理やり考えれば、あるオブジェクトがあって、
そのオブジェクトが数値だけではなく単位まで状態として持っているのであれば、
オブジェクトとオブジェクトの加算で状態(単位が同じであること)と
みなすことも可能だがねw
500デフォルトの名無しさん
2017/07/16(日) 18:08:20.22ID:J7GQwUvr >>498
つまり内容はともかく全部チェック処理だからチェック処理というグループを作ってそこにまとめてぶちこめ
権限のチェックもオーダーの状態のチェックも単位系のチェックも全てチェック処理だからチェック処理のグループでまとめて考えろ
そういうことを言いたいのか?
つまり内容はともかく全部チェック処理だからチェック処理というグループを作ってそこにまとめてぶちこめ
権限のチェックもオーダーの状態のチェックも単位系のチェックも全てチェック処理だからチェック処理のグループでまとめて考えろ
そういうことを言いたいのか?
501デフォルトの名無しさん
2017/07/16(日) 18:11:01.44ID:7YnVXBSW >>497
そういうこと。
カッコつけて「認可」なんて単語を使ってるのが悪い。
単に「状態チェック」と言えば良いんだよ。
状態チェックの中の一項目として認可が存在する。
なのに状態チェックを認可なんて
カッコつけて呼ぶから、みんなから突っ込まれてる。
ドヤ太郎「引数が数字であることを認可する!」
そういうこと。
カッコつけて「認可」なんて単語を使ってるのが悪い。
単に「状態チェック」と言えば良いんだよ。
状態チェックの中の一項目として認可が存在する。
なのに状態チェックを認可なんて
カッコつけて呼ぶから、みんなから突っ込まれてる。
ドヤ太郎「引数が数字であることを認可する!」
502デフォルトの名無しさん
2017/07/16(日) 18:13:20.36ID:J7GQwUvr >>499
芝を付けるようなおかしな話か?
単位系を付けるパターンは珍しいことではない
特に金を扱うシステムで国際化する場合には量と単位を持ったお金クラスの使用は必須と言ってよい
プリミティブクラスをクラスでラップしろというプラクティスはあまりにも有名だが
それはこういった単位と量の取り扱いをより厳密に実践せよということだぞ
芝を付けるようなおかしな話か?
単位系を付けるパターンは珍しいことではない
特に金を扱うシステムで国際化する場合には量と単位を持ったお金クラスの使用は必須と言ってよい
プリミティブクラスをクラスでラップしろというプラクティスはあまりにも有名だが
それはこういった単位と量の取り扱いをより厳密に実践せよということだぞ
503デフォルトの名無しさん
2017/07/16(日) 18:14:14.91ID:7YnVXBSW >>500
> チェック処理のグループ
チェック処理のグループってなんだよw
何かの処理(メソッド)を実行した時、
それが実行可能かどうかチェックするってだけだろ
その内容なんてどうでもいいわw
俺が言ってるのは実行可能かチェックすることを
「認可」って名前で呼ぶなって言ってるだけ
> チェック処理のグループ
チェック処理のグループってなんだよw
何かの処理(メソッド)を実行した時、
それが実行可能かどうかチェックするってだけだろ
その内容なんてどうでもいいわw
俺が言ってるのは実行可能かチェックすることを
「認可」って名前で呼ぶなって言ってるだけ
504デフォルトの名無しさん
2017/07/16(日) 18:16:13.57ID:7YnVXBSW505デフォルトの名無しさん
2017/07/16(日) 18:19:22.54ID:J7GQwUvr506デフォルトの名無しさん
2017/07/16(日) 18:21:05.03ID:J7GQwUvr507デフォルトの名無しさん
2017/07/16(日) 18:24:33.89ID:7YnVXBSW508デフォルトの名無しさん
2017/07/16(日) 18:25:50.70ID:7YnVXBSW 特別扱いするというのなら、
セキュリティに関する部分は
単純な比較命令や条件分岐命令を使うのではなく
専用の機能を使うべきでしょう?
でも、コードからすれば何ら特別扱いは
されていませんよね?
セキュリティに関する部分は
単純な比較命令や条件分岐命令を使うのではなく
専用の機能を使うべきでしょう?
でも、コードからすれば何ら特別扱いは
されていませんよね?
509デフォルトの名無しさん
2017/07/16(日) 18:40:06.18ID:J7GQwUvr510デフォルトの名無しさん
2017/07/16(日) 18:42:18.52ID:J7GQwUvr511デフォルトの名無しさん
2017/07/16(日) 18:43:47.33ID:7YnVXBSW512デフォルトの名無しさん
2017/07/16(日) 18:43:48.37ID:J7GQwUvr513デフォルトの名無しさん
2017/07/16(日) 18:44:50.67ID:7YnVXBSW514デフォルトの名無しさん
2017/07/16(日) 18:46:02.72ID:7YnVXBSW515デフォルトの名無しさん
2017/07/16(日) 18:47:23.57ID:J7GQwUvr516デフォルトの名無しさん
2017/07/16(日) 18:50:37.56ID:7YnVXBSW > セキュリティ事故を起こすと金もかかるし信用も失う
東証の誤発注事件、セキュリティとは関係なかったよなw
セキュリティでなければ、お金や信用は失わないと?
東証の誤発注事件、セキュリティとは関係なかったよなw
セキュリティでなければ、お金や信用は失わないと?
517デフォルトの名無しさん
2017/07/16(日) 18:50:54.68ID:J7GQwUvr >>514
その処理にビジネス上のメリットがあるとは思えないが好きにすればいいよ
その処理にビジネス上のメリットがあるとは思えないが好きにすればいいよ
518デフォルトの名無しさん
2017/07/16(日) 18:52:34.86ID:7YnVXBSW >>515
> 文字列のパターンマッチ検証と
文字列のパターンマッチ検証のバグで
大損害を起こすことも考えられるからな。
重要かどうかは、やってる処理内容ではない。
やっている場所だ。
どちらもチェック処理であることは明白
重要な箇所のチェック処理であるかどうかの違いがあるだけ
> 文字列のパターンマッチ検証と
文字列のパターンマッチ検証のバグで
大損害を起こすことも考えられるからな。
重要かどうかは、やってる処理内容ではない。
やっている場所だ。
どちらもチェック処理であることは明白
重要な箇所のチェック処理であるかどうかの違いがあるだけ
519デフォルトの名無しさん
2017/07/16(日) 18:53:52.09ID:7YnVXBSW >>517
> その処理にビジネス上のメリットがあるとは思えないが好きにすればいいよ
それはお前が思いつかないってだけだろう?
例えば中古買取システムだと、衣類はグラム単位で買い取り価格が決まるとか
あるわけだが。
> その処理にビジネス上のメリットがあるとは思えないが好きにすればいいよ
それはお前が思いつかないってだけだろう?
例えば中古買取システムだと、衣類はグラム単位で買い取り価格が決まるとか
あるわけだが。
520デフォルトの名無しさん
2017/07/16(日) 18:58:12.52ID:J7GQwUvr >>516
学生さんじゃないな
小学生か
どんな処理でも事故を起こせばペナルティの可能性はある
とはいえ事故の種類によって確率も被害額も異なる
セキュリティ事故は注意していなければ事故を起こしやすく被害額も大きい
つまり対策に投資する価値が大きな分野ってこと
学生さんじゃないな
小学生か
どんな処理でも事故を起こせばペナルティの可能性はある
とはいえ事故の種類によって確率も被害額も異なる
セキュリティ事故は注意していなければ事故を起こしやすく被害額も大きい
つまり対策に投資する価値が大きな分野ってこと
521デフォルトの名無しさん
2017/07/16(日) 18:58:44.34ID:J7GQwUvr522デフォルトの名無しさん
2017/07/16(日) 19:00:58.74ID:7YnVXBSW523デフォルトの名無しさん
2017/07/16(日) 19:01:38.94ID:J7GQwUvr >>519
そういうドメインがあったとしても円とグラムの足し算を定義するメリットはない
混乱するだけだからエラーになるようにしろ
古着の重量から取引価格を問い合わせるサービスを書け
問い合わで得た価格を足し算しろ
その方がずっとわかりやすい
そういうドメインがあったとしても円とグラムの足し算を定義するメリットはない
混乱するだけだからエラーになるようにしろ
古着の重量から取引価格を問い合わせるサービスを書け
問い合わで得た価格を足し算しろ
その方がずっとわかりやすい
524デフォルトの名無しさん
2017/07/16(日) 19:06:15.16ID:J7GQwUvr525デフォルトの名無しさん
2017/07/16(日) 19:26:57.71ID:Unh0LZY1 そろそろコードでしゃべれ
526デフォルトの名無しさん
2017/07/16(日) 19:54:32.08ID:zK8m4Miw 白黒つけるなら、前提条件が分からんと何がベターか分からん。
要件定義書持ってこい。
要件定義書持ってこい。
527デフォルトの名無しさん
2017/07/16(日) 20:04:35.46ID:yM+ti3sc 「不可能」でも「状態チェック」でも「認可」でも何でもいいんで
それはコンパイラがコンパイル時に行うのか
それともコール自体を実行時に許さないのか
はたまたコールは許すけど結局弾くだけなのか
どれを想定するかで設計が変わるんで
出題者はそろそろ答えてくれまいか
それはコンパイラがコンパイル時に行うのか
それともコール自体を実行時に許さないのか
はたまたコールは許すけど結局弾くだけなのか
どれを想定するかで設計が変わるんで
出題者はそろそろ答えてくれまいか
528あ
2017/07/16(日) 21:52:05.18ID:bPx1MEIf やっぱ「認可」って言葉に振り回されてんのな。
「これが俺の言う「認可」。お前が言ってるのはこれだろ?」に、そう呼びたいなら呼べばいいやと思ってその言葉使ってるだけで、
単純に言えば>>416でチェックって言うとる。
>>490
古臭かろうが生きているのは、変な話絶滅すべき理由が無いというそこそこ大切な理由がある。
>>491
ごっちゃにすべき話だよ。「この状態の時に何ができるか」は「誰が」をつけないと意味がない。
もちろん、「誰が」にも「この状態」にもワイルドカードが入ることもあるが。
>>492
その状態では誰でも出来ないよ。薬剤に薬剤部の承認が降りてて、実施者は医師ないし医師から指示を受けた看護師か薬剤師しかできん。
崩壊目前と言われても、もう俺が知ってるだけで12年は動いてるけどな。
サーバ側のモジュールは1989年の見たことあるわ。
>>527
コンパイル時に解決って発想がすごいな。
リリース時には、依存関係を一式リリースしないといかんのでは?と思ってしまう。
「これが俺の言う「認可」。お前が言ってるのはこれだろ?」に、そう呼びたいなら呼べばいいやと思ってその言葉使ってるだけで、
単純に言えば>>416でチェックって言うとる。
>>490
古臭かろうが生きているのは、変な話絶滅すべき理由が無いというそこそこ大切な理由がある。
>>491
ごっちゃにすべき話だよ。「この状態の時に何ができるか」は「誰が」をつけないと意味がない。
もちろん、「誰が」にも「この状態」にもワイルドカードが入ることもあるが。
>>492
その状態では誰でも出来ないよ。薬剤に薬剤部の承認が降りてて、実施者は医師ないし医師から指示を受けた看護師か薬剤師しかできん。
崩壊目前と言われても、もう俺が知ってるだけで12年は動いてるけどな。
サーバ側のモジュールは1989年の見たことあるわ。
>>527
コンパイル時に解決って発想がすごいな。
リリース時には、依存関係を一式リリースしないといかんのでは?と思ってしまう。
529デフォルトの名無しさん
2017/07/16(日) 22:48:41.11ID:X07S5niy 絵に描いたようなレガシーおじいちゃん
531デフォルトの名無しさん
2017/07/16(日) 23:15:04.45ID:2wo8gPgW 認可処理が本質的に複雑なシステムでうまく体系化できていないんだろうね
認可処理が体系化されてないシステムってアドホックな認可検証処理があちこちにばら撒かれて他の処理に紛れてしまうものなんだ
それで紛れちゃったから区別がつかなくなってしまったんだろう(少なくともメンテナの彼は区別が付いてない)
昔から世界中で問題視されて来た典型的なアンチパターンってわけ
多くの失敗例を反省して改善してきた答えが認可システムと他のロジックの分離なんだけど
これはその成果を取り入れる前の実験台になった世代のシステムだったということだね
認可処理が体系化されてないシステムってアドホックな認可検証処理があちこちにばら撒かれて他の処理に紛れてしまうものなんだ
それで紛れちゃったから区別がつかなくなってしまったんだろう(少なくともメンテナの彼は区別が付いてない)
昔から世界中で問題視されて来た典型的なアンチパターンってわけ
多くの失敗例を反省して改善してきた答えが認可システムと他のロジックの分離なんだけど
これはその成果を取り入れる前の実験台になった世代のシステムだったということだね
532あ
2017/07/16(日) 23:19:58.25ID:bPx1MEIf533あ
2017/07/16(日) 23:22:16.71ID:bPx1MEIf 要は、負けたくないんです、って言ってるんだよな?
オブジェクトとして、ステートフルで、操作の例外を自身がすべて処理するクラスは存在しても良い、と。
まーそれでいいよ。もう伝わんないだろうし。
無駄だわ。
オブジェクトとして、ステートフルで、操作の例外を自身がすべて処理するクラスは存在しても良い、と。
まーそれでいいよ。もう伝わんないだろうし。
無駄だわ。
534デフォルトの名無しさん
2017/07/16(日) 23:25:25.46ID:X07S5niy535デフォルトの名無しさん
2017/07/16(日) 23:29:13.66ID:2wo8gPgW >>532
他の検証処理と一緒くたにしてるんだろ
そういうのをアドホックっていうんだよ
そしてこのキューは関係ない
君の使ってるキューはジョブスケジューリングのためのものだろ
むしろこれに検証やロジックが結合しているならそれこそおかしな設計だよ
他の検証処理と一緒くたにしてるんだろ
そういうのをアドホックっていうんだよ
そしてこのキューは関係ない
君の使ってるキューはジョブスケジューリングのためのものだろ
むしろこれに検証やロジックが結合しているならそれこそおかしな設計だよ
536デフォルトの名無しさん
2017/07/16(日) 23:30:11.42ID:2wo8gPgW >>533
お前がそれをいうなよ
お前がそれをいうなよ
537デフォルトの名無しさん
2017/07/17(月) 00:17:18.40ID:Fkkap2CA 何の話してるか3行でまとめろ
状態をコンパイルで安全に実装する話じゃなかったのか?
状態をコンパイルで安全に実装する話じゃなかったのか?
540デフォルトの名無しさん
2017/07/17(月) 01:12:44.95ID:ka/V7JjN 何の話か分からないから仕切り直して、
議題をまとめて。
あと、ゴールも。
議題をまとめて。
あと、ゴールも。
541デフォルトの名無しさん
2017/07/17(月) 08:13:45.47ID:1hPCwKm/ よし議論を仕切り直すぞ
まず「認可」議論が何にこだわってるのか意味不明
100円と20グラムを足せないようにしたいなら
貨幣クラスと重量クラスを作って型チェックすればいい
品物を発送したら注文のキャンセル不可にしたいなら
ステートパターンとかで発送状態にして
キャンセル判定すればいい
ふつうは前者を実行したらエラーや例外にするし
後者はいちいちアプリごと落ちたらうざいので
「発送後はキャンセルできません」とか画面に表示する
んで、それだと何がダメで
じゃあどうしたらいいのか
さっぱり話が見えてこない
まず「認可」議論が何にこだわってるのか意味不明
100円と20グラムを足せないようにしたいなら
貨幣クラスと重量クラスを作って型チェックすればいい
品物を発送したら注文のキャンセル不可にしたいなら
ステートパターンとかで発送状態にして
キャンセル判定すればいい
ふつうは前者を実行したらエラーや例外にするし
後者はいちいちアプリごと落ちたらうざいので
「発送後はキャンセルできません」とか画面に表示する
んで、それだと何がダメで
じゃあどうしたらいいのか
さっぱり話が見えてこない
542デフォルトの名無しさん
2017/07/17(月) 08:31:31.91ID:1hPCwKm/ おそらく認可君が言いたいことを察すると
不変条件は不変だから
認証系と混同するなよってことかな
それ自体はそうだよ
100円と20グラムを足すような処理は
100パーセントないと断言できるから
コンパイルエラーで100パー弾いても構わない
それに対してキャンセルの話は
発送後も不良品であれば返品できるみたいに
実務では複雑な条件になるし変更もありうる
だからその判定が複雑なら
キャンセルクラスを作って判定するかな
それよりもっと高度な何かを求めてるなら
説明してもらわないと分からない
不変条件は不変だから
認証系と混同するなよってことかな
それ自体はそうだよ
100円と20グラムを足すような処理は
100パーセントないと断言できるから
コンパイルエラーで100パー弾いても構わない
それに対してキャンセルの話は
発送後も不良品であれば返品できるみたいに
実務では複雑な条件になるし変更もありうる
だからその判定が複雑なら
キャンセルクラスを作って判定するかな
それよりもっと高度な何かを求めてるなら
説明してもらわないと分からない
543デフォルトの名無しさん
2017/07/17(月) 08:49:02.13ID:vyn2jib/ >>541
その認識であってるよ
そこに「認証認可系とごちゃ混ぜにして処理しろ。分けて考えるな。キューイング!キューイング!」ってちょっと変な奴が絡んできたから「分けて考えるのが正解だし、そもそもそれ今関係ないだろ」って応酬を延々と続けていただけ
連休の2ちゃんではそういうことがままある
その認識であってるよ
そこに「認証認可系とごちゃ混ぜにして処理しろ。分けて考えるな。キューイング!キューイング!」ってちょっと変な奴が絡んできたから「分けて考えるのが正解だし、そもそもそれ今関係ないだろ」って応酬を延々と続けていただけ
連休の2ちゃんではそういうことがままある
544あ
2017/07/17(月) 11:33:50.06ID:6lVfk8iG だってなぁ。
ママゴト聞いてるみたいだもん。
ママゴト聞いてるみたいだもん。
545デフォルトの名無しさん
2017/07/17(月) 12:56:51.77ID:Fkkap2CA まーた論点が喧嘩になっちゃう
小学生か?ガイジか?
小学生か?ガイジか?
546デフォルトの名無しさん
2017/07/17(月) 13:06:08.92ID:orwW66DF547デフォルトの名無しさん
2017/07/17(月) 13:08:53.23ID:H+ZLTTJY > それに対してキャンセルの話は
> 発送後も不良品であれば返品できるみたいに
> 実務では複雑な条件になるし変更もありうる
それ返品の話ですよね?
キャンセルじゃないですよね?
> 発送後も不良品であれば返品できるみたいに
> 実務では複雑な条件になるし変更もありうる
それ返品の話ですよね?
キャンセルじゃないですよね?
548デフォルトの名無しさん
2017/07/17(月) 13:39:57.19ID:ZHrINvVG お互いに見下しあう口喧嘩に解のない無駄でしかないってのに
暇そうで羨ましいよ
暇そうで羨ましいよ
549デフォルトの名無しさん
2017/07/17(月) 14:34:06.46ID:orwW66DF 結局、"あ"氏にとってのオブジェクトの定義は、単なるデータスキーマでしかないということ
>>416
> 値を持ったデータの塊に生やしたメソッドでやるから話がややこしくなるのでは?
> 値は値なんだし。
> 値に何かさせたら、値自体が変わるってすごいめんどくさいと思う。
> しかも、何かさせられない状態すら持ってる。これヤバい。
で、対する一派は、オブジェクトは振る舞いを持っているしルールも持っているという認識
話は噛み合わないよ
>>416
> 値を持ったデータの塊に生やしたメソッドでやるから話がややこしくなるのでは?
> 値は値なんだし。
> 値に何かさせたら、値自体が変わるってすごいめんどくさいと思う。
> しかも、何かさせられない状態すら持ってる。これヤバい。
で、対する一派は、オブジェクトは振る舞いを持っているしルールも持っているという認識
話は噛み合わないよ
550あ
2017/07/17(月) 14:45:52.49ID:ql0cyt0N 俺も暇なのは確かだけど。
こんなに盛り上がるとはな。
まー、いにしえのナントカ、みたいなのは良くも悪くも「ちゃんと動く」から、いにしえのナントカとして未だに生きてるんだから、
無碍に否定してもきりがない。
ジョブシステムの致命的な欠点の「ジョブサーバが死んだら何も動かない」を突かれたら
「死なんように単機能なんだ。だから、どんな処理も「処理完了,処理結果:不正」という正常系でさばく必要がある」
としか言えないところだったのに、そこはスルーなのがわからん。
こんなに盛り上がるとはな。
まー、いにしえのナントカ、みたいなのは良くも悪くも「ちゃんと動く」から、いにしえのナントカとして未だに生きてるんだから、
無碍に否定してもきりがない。
ジョブシステムの致命的な欠点の「ジョブサーバが死んだら何も動かない」を突かれたら
「死なんように単機能なんだ。だから、どんな処理も「処理完了,処理結果:不正」という正常系でさばく必要がある」
としか言えないところだったのに、そこはスルーなのがわからん。
551あ
2017/07/17(月) 14:48:06.21ID:ql0cyt0N >>549
オブジェクトの定義は、「単なるデータスキーマ」であるか「単なるタスクの実装」であって、それ混ぜると収拾つかなくなるよ、なので、
単にオブジェクト指向を否定してるわけではない事だけ伝わってほしい。
オブジェクトの定義は、「単なるデータスキーマ」であるか「単なるタスクの実装」であって、それ混ぜると収拾つかなくなるよ、なので、
単にオブジェクト指向を否定してるわけではない事だけ伝わってほしい。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
