タグ

オブジェクト指向に関するrin51のブックマーク (22)

  • 2021年の「オブジェクト指向」を考える

    きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

    2021年の「オブジェクト指向」を考える
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • オブジェクト指向分析/設計の絶版本抜粋(UML以前の本、例えば Booch, Rumbaugh, Jacobson 等は除く)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    オブジェクト指向分析/設計の絶版本抜粋(UML以前の本、例えば Booch, Rumbaugh, Jacobson 等は除く)
  • 【レポート】『Fate/Grand Order』開発スタッフが語る、技術力がなければ面白いゲームを創れない理由とは…変化に強い構造の作り方 | gamebiz

    【レポート】『Fate/Grand Order』開発スタッフが語る、技術力がなければ面白いゲームを創れない理由とは…変化に強い構造の作り方 GMOアプリクラウドは、6月15日、GMOインターネットグループが運営するコミュニケーションスペース「GMO Yours」にて、「ゲーム開発と技術力」をテーマとしたイベントとして、「現場のエンジニアが語る『Fate/Grand Order』の開発技術からアップデートに関するノウハウまで一挙公開」を開催した。 イベントでは、ゲーム運営や開発に関わっている方々を対象に、『Fate/Grand Order』の開発をリリース当初から支えるサーバーエンジニアと、ディライトワークスの技術力向上のために、日々課題に取り組んでいるテクニカルディレクターによる「面白いゲームの作り方」や「海外展開に向けた取組み」について技術的側面から講演を行った。 稿では、ディライト

    【レポート】『Fate/Grand Order』開発スタッフが語る、技術力がなければ面白いゲームを創れない理由とは…変化に強い構造の作り方 | gamebiz
    rin51
    rin51 2017/07/12
  • オブジェクト指向と20年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向と10年戦ってわかったこと Twitterやはてブコメントを見たら、「わかりやすかった」というコメントもあったのですが、どちらかというとネガティブ方面なコメントが多く目につきました。マサカリという用語で忌憚なく意見を言う風潮については別にいいんですが、「わかりにくい」「間違っている」「古い」みたいなコメントは何も生み出さないし、みんなでニコニコポエムを投稿しあうやさしいインターネッツになったらいいなって思ったので、僕もオブジェクト指向について投稿しようと思います。 何原則? 3原則じゃなくて4では?みたいなコメントもあったのですが、別に3でも4でも5でも重要ではないかなって思います。この4原則の出どころがどこかは知らないですが、C++かSmalltalkあたり(このあたりの話を見かけたのはJava登場前だった気がする)をターゲットとしている気がします。Jav

    オブジェクト指向と20年戦ってわかったこと - Qiita
  • オブジェクト指向と10年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向は難しい!わかった気になって実践すると詰みます... ウギャー この記事は10年以上オブジェクト指向と戦った筆者が、通常とは異なるアプローチでオブジェクト指向を解説したものです。 筆者はJavaを使って格的なシステム開発をしたことがありませんが、オブジェクト指向言語として最もポピュラーなJavaをベースにオブジェクト指向について解説させていただきました。 また、この記事の続編にあたります「なぜオブジェクト指向は難しいのか」を更に2年の時を経て執筆させて頂きました!是非こちらも一読していただけると嬉しいです。 オブジェクト指向三大要素の謎 オブジェクト指向三大要素ってありますよね。オブジェクト指向は「カプセル化」「継承」「ポリモーフィズム」の3つの要素で成り立つと言われています。最近では、この三大要素が語られる傾向は薄いようですが、一度は耳にしたことがある

    オブジェクト指向と10年戦ってわかったこと - Qiita
  • 綺麗な設計を身に付けるためのSandi Metzルール

    Webアプリやモバイルアプリの受託開発やコンサルティングを行うthoughtbot社のブログにて、Sandi MetzルールというRubyプログラマ向けのルールが紹介されていました。 Sandi Metz’ rules for developers このルールは、プログラマーでありPractical Object-Oriented Design in Rubyという書籍も執筆しているSandi MetzさんがRuby Roguesポッドキャストに出演した際に紹介していたものです。 そのルールは以下の通りです。 クラス内のコードが100行を超えてはならない メソッド内のコードが5行を超えてはならない 4つより多い引数をメソッドに渡すようにしてはならない(ハッシュによるオプションもパラメーターとみなす) コントローラーではただ1つのオブジェクトだけをインスタンス変数化できる ビューは1つのイン

    綺麗な設計を身に付けるためのSandi Metzルール
  • オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

    2016年9月2日紙版発売 2016年9月2日電子版発売 Sandi Metz 著,髙山泰基 訳 B5変形判/304ページ 定価3,608円(体3,280円+税10%) ISBN 978-4-7741-8361-9 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 オブジェクト指向設計の名著として名高い“Practical Object-Oriented Design in Ruby”,待望の翻訳版!使いこなせるようになるととても便利なオブジェクト指向ですが,「なんとなく」の理解で使っていると,大きな罠にかかってしまいます。書は,保守性を上げて運用コストを下げるア

    オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
  • いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog

    CodeIQ中の人、millionsmileです。 いろいろ経歴を積むと、「いまさら聞けない」ことが増えてきます。「オブジェクト指向」というのもそんないまさら聞けないものの一つでしょうか。 そんなわけで、いまさら聞けないことをイマサラ問題として出題してみました。 問題は、日ITエンジニアの父と言いたくなるくらい温かみのあるフィードバックをしてくれることで好評な有限会社システム設計の増田亨さんからの出題です。オブジェクト指向設計について2問出題していただきました。総計65名もの方に挑戦いただきました! 問題の解説記事は、オブジェクト指向設計の3つのコツを中心に説明してくれていますので、読みやすいですし、頭にすっと入ってきます。 ではでは、増田亨さんによる解説記事をお楽しみください。 https://codeiq.jp/ace/toru_masuda/ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

    いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog
  • オブジェクト指向プログラムのためのパターン言語の使用

    以下の文章は、Kent Beck、Ward Cunninghamによる「Using Pattern Languages for Object-Oriented Programs」の日語訳である。 Ward Cunningham氏の許可を得て、ここに掲載する。 Kent Beck, Apple Computer, Inc. Ward Cunningham, Tektronix, Inc. Technical Report No. CR-87-43 September 17, 1987 Submitted to the OOPSLA-87 workshop on the Specification and Design for Object-Oriented Programming. 概要 オブジェクト指向プログラミングへのパターン言語の適合について概説する。ウィンドウ・ベースの

  • DCI and the application builds our mental models | Sapporo RubyKaigi 2012 (札幌Ruby会議2012)

    タイトル DCI and the application builds our mental models 動画 発表資料 概要 DCI (Data, Context and Interaction)はオブジェクト指向アプリケーションに対する「パラダイム」のひとつです。随分大きく出ましたね。DCIは設計手法やデザインパターン以上の存在、すなわち我々プログラマはオブジェクト指向アプリケーションの認識の枠組みであるとDCIの提唱者(Trygve Reenskaug)とDCIのエヴァンジェリスト(James O.Coplien)は言っています。ちなみに、DCIの提唱者であるReenskaug氏はMVCの提唱者でもあり、彼らによればDCIはMVCアーキテクチャを補完するものであるとのことです。その意味ではDCIはアーキテクチャと呼べるかもしれません。 そんなDCIが近頃、OO厨系Rubyistの関

    DCI and the application builds our mental models | Sapporo RubyKaigi 2012 (札幌Ruby会議2012)
  • 2013-01-23

    ・・・してません。 してないけど、想像で思いの丈を書くよ。 まず、DCIについてはちょっと前にモノ思ったんだけど、togetter見る限り、疑問の一つに関してDCI Meetupで一応の回答が得られた模様。 その疑問というのは「ロールはextend Moduleではなくて、Adapterで実装してはいかんのか?」ということなんだけど、回答としては要するに「ロールが異なっても同じオブジェクトなんだからアイデンティティを同一に保ちたい」ということらしい。 ただ、言わんとすることは分かったけど、実はあんまり納得できてなくて、とあるコンテキストで何かしらのロールを果たしているオブジェクトのアイデンティティってそんなに重要なんだろうか? ミッキーマウスがステージで踊ってるのを見るときに中の人が誰かなんてどうでもいいというか、むしろ中の人なんていないことにして見るのが正解であるように、ロールを果たして

    2013-01-23
  • JavaやC#の常識が通用しないRubyのprivateメソッド - give IT a try

    衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ

  • 所謂オブジェクト指向言語はオブジェクト指向してないんじゃないかというなにか - にゃははー

    ※ネタです。マジレスしない様に ※重ねて言いますがネタです。 ※なんどもいい(ry まずは http://b0r0nji.blogspot.com/2011/12/blog-post.html を読んでください。 この説明でオブジェクト指向わかった!ってなったらそれどうなんだろうと思ってしまったわけです。で、オブジェクト指向プログラミング - Wikipedia読んでみると、 相互にメッセージ (message) を送りあうオブジェクト (object) の集まりとしてプログラムを構成する技法である。 ほう、メッセージとな。さて、先の説明にメッセージがあったか?となるわけです。 オブジェクトとはなにか 多くのOOPをサポートしていると謳っている言語はこのメッセージの送受信(Message Passing)をメンバ呼び出しという形に置き換えて、概念的にはメッセージを送り合って通信しているよう

    所謂オブジェクト指向言語はオブジェクト指向してないんじゃないかというなにか - にゃははー
    rin51
    rin51 2011/12/06
    縞ぱん > oneechan(shimapan)
  • 小人閑居して: 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説

    2011年12月6日火曜日 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説 「ぐへへお姉ちゃんパンツ何色」はこれ以上ないほどオブジェクト指向であり、しかも理想的な実装をしていることに気づきました。これを用いてオブジェクト指向を説明してみようと思います。 ある人が「ぐへへお姉ちゃんパンツ何色」と質問するのは、お姉ちゃんオブジェクトの保持するpants_color変数を取得しようとする手続きと見ることが出来ます。つまり oneechan.pants_color を取得しようとしているわけです。 ではどうすればいいのでしょうか? 考えてみましょう。直接パンツを見ればpants_colorを取得することができますね。 クラスを使わないとすればこんな書き方が考えられます。 struct oneechan{      int pants_color; }; 構造体でひな形を宣言します。

  • DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism

    この記事はartima developerに掲載されている、Trygve Reenskaug氏とJames O. Coplien氏による記事「The DCI Architecture: A New Vision of Object-Oriented Programming」を、著作権者であるBill Bennrs氏の許可を得て翻訳したものです。文内の図の著作権はArtima, Inc.に帰属します。(原文公開日:2009年3月20日) 要約 オブジェクト指向プログラミングはプログラマとエンドユーザの視点をコンピュータコードにおいて統一するものと考えられていた。この恩恵はユーザビリティとプログラムの分かりやすさの両面にわたる。しかし、オブジェクトは構造をとらえるのに長けている一方で、システムの動作をとらえることができていない。DCIはエンドユーザのロールに関する認識モデルとロール間の関係を

    DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism
  • Martin Fowler's Bliki in Japanese - ドメインモデル貧血症

    http://martinfowler.com/bliki/AnemicDomainModel.html これはずいぶん昔からあるアンチパターンのひとつですが、今になって台頭してきているようです。 Eric Evans と話したのですが、彼も、それがだんだんポピュラーになってきていることに気づいていました。 私たちほど大の「真Domain Model」推進者としてみれば、ちょっとうれしくありません。 ドメインモデル貧血症の基的な症状は、一見、それが物のドメインモデルに見えるという点です。オブジェクトがいくつかあり、それらはドメイン空間にある名詞から名前をつけられています。それから、オブジェクト同士がしっかりとしたリレーションで結びついており、物のドメインモデルと同じような構造を持っているのです。 ただし、オブジェクトの振る舞いを見れば違いが分かります。それらのオブジェクトにはわずかな

  • OOエンジニアの輪! ~ 第 42 回 黒枝 真(makotan) さんの巻 ~ | オブジェクトの広場

    OOエンジニアの輪! 第 42 回 黒枝 真(makotan) さんの巻 今回のゲストは、makotan さんです。ワークステートエンジン Buri の開発などをはじめ Java のオープンソースプロジェクトの開発で知られています ■ 始めに --- 前回インタビュイーの arton さんから makotan さんをご紹介いただきました。arton さんとはどのようなつながりですか? あの、宴会です。(笑) 20世紀ギリギリくらいの頃ですね。Seasar ( の開発 ) が始まる前後に飲み会があって、そのときに arton さんに初めて会いました。この人が arton さんなんだ、あの Ruby 邪道編を書いた人なんだ、というところから入りつつも、技術の話は一切してなかったですね。 --- じゃあ、Seasar 関連とか Seasar プロジェクト関連とかとはちょっと違う。プライベート的

    rin51
    rin51 2009/06/05
    オレは絶対可憐チルドレンを1.5倍で見てたのでOPが1.5倍で脳内再生される
  • oklab -

    最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++JavaScriptSwiftRubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracle