オブジェクト指向って自然な文法だな 3 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/02(日) 16:30:38.65ID:n7h/bBRg
前スレ
オブジェクト指向って自然な文法だな 2
http://echo.2ch.net/test/read.cgi/tech/1490506257/
2017/04/02(日) 16:45:28.24ID:n7h/bBRg
C 言語によるオブジェクト記述法 COOL ver.2
http://www.sage-p.com/process/cool.htm
2017/04/02(日) 17:00:47.26ID:n7h/bBRg
モダンC言語プログラミング
http://ascii.asciimw.jp/books/books/detail/978-4-04-891309-6.shtml

統合開発環境、デザインパターン、エクストリーム・プログラミング、
テスト駆動開発、リファクタリング、継続的インテグレーションの活用

第3章 C言語とオブジェクト指向
3.1 概要
3.2 Cのモジュール化とオブジェクト指向
3.3 まとめ
第4章 C言語とデザインパターン
4.1 ステートパターン(State)
4.2 テンプレートメソッドパターン(Template)
4.3 オブザーバパターン(Observer)
4.4 チェインオブレスポンシビリティパターン(Chain of responsibility)
4.5 ビジターパターン(Visitor)
4.6 まとめ
第5章 C言語とリファクタリング
5.1 概要
5.2 テスト駆動開発
5.3 TDD入門編
5.4 リファクタリング
5.5 TDD実践編
5.6 まとめ
第6章 継続的インテグレーションとデプロイ
6.1 概要
6.2 継続的インテグレーションの前提
6.3 CIサーバの導入
6.4 CI入門編
6.5 メモリ破壊のバグと戦う
6.6 CI実践編
6.7 まとめ
2017/04/02(日) 17:02:31.63ID:n7h/bBRg
https://teratail.com/questions/37674

以前、Linuxのカーネルを読んだ時、オブジェクト指向的なプログラムされているなと思ったことが有ります。
データと関数ポインタをセットにしているイメージですね。(仮想関数的なテクニックだったように思います。)
2017/04/02(日) 17:06:49.50ID:n7h/bBRg
Linuxシステムプログラミング - 60 ページ - Google ブック検索結果
https://books.google.co.jp/books?isbn=4873113628
> Linux のすべてのフアイルシステムの基本となる共通フアイルモデル
> 〈 c 。 mm 。 n 血 em 。 de ー)を導入し、抽象化を図っています。共通ファイルモデルでは、
> 関数ポインタやオブジェクト指向的な考え方†を採用したフレームワークを提供し、フアイル
2017/04/02(日) 17:52:12.44ID:KLExlLIQ
●ドア設計問題 (出典は初代スレ)
http://echo.2ch.net/test/read.cgi/tech/1488928012/422-423
http://echo.2ch.net/test/read.cgi/tech/1488928012/577-578

1 下記機能をオプションとして持つドアを設計せよ
  (a)ドアストッパー
  (b)ドアクローザー
  (c)ドアの向こう側を目視できるガラス
  (d)内部から外部の一方通行のみ目視できるのぞき穴

2. 1.で行ったクラス設計を破壊せずに下記性質を追加せよ
  (e)異なる耐火性
  (f)異なる開閉重量
  (g)鍵がついており、サムターンか電子錠である
  (h)異なる遮音性
  (i)開き方は右開き左開き、内開き外開きスライドのいずれもありえる
  (j)ドアノブはついていることもついてないこともある

3. 2.で行ったクラス設計を破壊せずに下記性質を追加せよ
  (k)犬猫はドアノブを回転させることはできない
  (l)犬猫はプッシュで動くドアなら、ある一定の重量以下で押すことができる
  (m)数匹の犬猫が同時にドアを押すと合計重量で押すことができる
2017/04/02(日) 18:47:42.03ID:w0zTGR96
おつかれさまでした
2017/04/02(日) 20:12:49.88ID:0XahTNwQ
>>6 1(a)(b)のRubyによる実装

http://ideone.com/or6JyE
2017/04/02(日) 20:48:03.21ID:TvISwdcG
>>6
ドアをどういうソフトウェアの中でどう使うのかを説明しろよ
それなしに”設計せよ”とか意味不明だぞ

そこに書いてるのはドアの属性だけだから単なるデータ
クラスとかオブジェクト指向とか全く関係ない
2017/04/02(日) 21:12:28.24ID:DzpU0i7z
ドアクラスの設計に上位クラスの意思が必要なら、それはモジュール分解できてないってことじゃね
2017/04/02(日) 21:21:56.68ID:l1VJjSJU
>>9
こんなんで意味不明とか言ってたらついていけんぞ
このドアに猫を通すにはどうするとか言ってたんだから
2017/04/02(日) 21:30:37.45ID:TvISwdcG
>>10
〇〇がどう使われるかは全くわかりません
〇〇にはこれこれこういう属性(性質)がありえます
〇〇を設計せよ
ふぁい!?

モジュール分解とか全く関係ない
2017/04/02(日) 21:38:49.75ID:DzpU0i7z
ドアストッパーは回転角に制限を与える
ドアクローザーは、半開状態時にゆるやかに閉状態へと変化する機構

犬猫が突進すればドアタイプと重量によっては開き、場合によっては開かない
2017/04/02(日) 22:03:35.89ID:TvISwdcG
建築家がCADで使うためのドアのモデル
ドアメーカーが生産管理のために使うためのドアのモデル
住宅メーカーが受注管理のために使うドアのモデル
ドア開け系のスマホゲームで使うためのドアのモデル

これらが同じになるわけがないんだから
どういう目的でどういう風にソフトウェア上で使われるのか
それがわからないものを設計しようとするのは時間の無駄
2017/04/03(月) 01:16:59.01ID:LFQkDYJE
>>14
よくよく考えてみるととても難しいが完全不可能ではないしょ、具体的にこんなドアと呼んでないからこそ
どんな状況とパターンでもドアをドアと呼ぶに相応しい共通項を見つけるゲームや
投げる物ではないし食べる物でもないしまぁある程度までは
2017/04/03(月) 11:28:24.86ID:MWcUZH/3
なんでメソッド名って三単現じゃないことが多いの?
2017/04/03(月) 12:06:00.26ID:4MLmk5yA
開発者に嫌われているプログラミング言語 25
http://news.mynavi.jp/news/2017/03/30/133/
http://n.mynv.jp/news/2017/03/30/133/images/001l.jpg
Visual Basic 6
VBA
CoffeeScript
VB.NET
Matlab
Objective-C
Assembly
Perl
Lua
Hack

Groovy
Common Lisp
Dart
Erland
PHP
C
Ruby
R
Java
Julia
C++
SQL
Haskell
F#
JavaScript
2017/04/03(月) 12:20:09.66ID:28dsjWMc
>>17
他のせんたくしが
2017/04/03(月) 12:21:52.64ID:28dsjWMc
>>17
他の選択肢を比較的簡単に選べるものが上位になってる気がする。
つまりdisりやすいっていう
20デフォルトの名無しさん
垢版 |
2017/04/03(月) 13:17:31.81ID:DYsJriQe
>>1
糞みたいなテンプル貼るのやめろ
2017/04/03(月) 19:08:53.61ID:gZTdU5yD
>>17
名前さえ上がらないCobol
2017/04/03(月) 19:16:57.14ID:Upl31vzs
まだやってんの?
23デフォルトの名無しさん
垢版 |
2017/04/03(月) 20:08:09.88ID:VDwG6zpG
>>22
最後にレスした奴が勝者だからな
2017/04/03(月) 20:17:49.73ID:Upl31vzs
勝ち負けってあったの?
2017/04/03(月) 20:20:18.71ID:7vHtJU9B
俺2chの議論で負けたことない

変なこと言い出したり話がそれたりで、俺がレスしなくなるか
俺が相手をやりこめて、相手がレスしなくなるかだ
2017/04/03(月) 20:23:36.71ID:Upl31vzs
勝負してないじゃん
27デフォルトの名無しさん
垢版 |
2017/04/03(月) 20:54:50.17ID:OUsiIH4G
土俵の下からヤジ飛ばしているだけで勝負している気になってるいつものあいつかw
2017/04/03(月) 20:57:17.28ID:LFQkDYJE
ウィナーオブジェクト作ろうぜ。とりあえずメソッドはコールだけ
2017/04/03(月) 21:47:10.19ID:7vHtJU9B
>>14
そこが決まってないからこそ
物事の捉えかたが人によって違うのがいいんだろ

最初から無駄なのはわかりきってるんだから無駄とかいうな
2017/04/03(月) 21:49:08.96ID:XYXk6jFX
>>15
どんな状況でもドアをドアと呼ぶに相応しい共通項を見つけるのは
ソフトウェアの設計やプログラミングの話ではなく言語学や哲学における分節化の話
なので板違い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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