タグ

oopに関するrudo108のブックマーク (14)

  • Google流 JavaScript におけるクラス定義の実現方法

    目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを

  • 【新人教育 資料】第1章 UMLまでの道 〜オブジェクト指向編〜 - Qiita

    オブジェクトを日語に訳すと「モノ」、「対象」となります。 プログラムを勉強していくとオブジェクトと言葉をよく聞きますが、一旦「モノ」と考えるとわかりやすいかもしれません。 では、現実世界で物と言われるものはなんでしょう? ※このポストをしている人は自分の仕事机からの景色を使って説明しようとしています パソコン モニター 時計 椅子 人 これらは全て、「モノ」ですね。知覚的に、言葉を聞いただけで、それはどういったものが理解することが出来ます。 このような「モノ」は言葉として表現すると理解し、大体一般的に共通認識出来るものがオブジェクトだと考えてください。 オブジェクト指向とは、さらに「モノ」に加え「こと(振る舞い)」をするものもオブジェクトで表現しようというのがオブジェクト指向です。 例) 「サービスに申し込む」、「計算を結果を出力する」 オブジェクト指向を用いる事で、プログラム上の表現を

    【新人教育 資料】第1章 UMLまでの道 〜オブジェクト指向編〜 - Qiita
  • オブジェクト指向と10年戦ってわかったこと - Qiita

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

    オブジェクト指向と10年戦ってわかったこと - Qiita
    rudo108
    rudo108 2016/05/21
  • オブジェクト指向とは何なのか考えてみた - Flat Leon Works

    オブジェクト指向の概要 オブジェクト指向の位置づけ 命令型から手続き型へ、そしてオブジェクト指向へ オブジェクト指向+αでメリットが出てくる (おまけ)良質なプログラミングとは何か まとめ オブジェクト指向とは何なのか考え抜いてみました。 オブジェクト指向の概要 用語の位置づけプログラミング(プログラム設計)の手法 用語の意味オブジェクトへのメッセージ送信でプログラミング(プログラム設計)を行うこと なぜ使われるのか1.手続き型プログラミングより自然な考え方になるから 2.プログラミング言語の機能によるサポート次第でより便利になるから 3.設計の工夫で良質なプログラミングが可能になるから オブジェクト指向の解説がわかりにくくなっているのは、「オブジェクト指向自体の解説」と「オブジェクト指向をより便利にする言語機能の解説」と「オブジェクト指向でよりよいプログラミングを行うための手法の解説」が

    オブジェクト指向とは何なのか考えてみた - Flat Leon Works
    rudo108
    rudo108 2016/03/22
  • リーンなコードを書こう:実践的なオブジェクト指向設計

    10. コードを改善する機会 • 変更が必要になった時 – ビジネスルールの変更 – 機能の追加 • 変更がやりやすいように、コードを改善してから 変更する • 小さな変更依頼が良いチャンス – 変更の目的が明確 – なぜその変更がたいへんか、原因がわかりやすい – 改善の before/after を確認しやすい • 変更するたびに、小さな改善を累積していく • 大きなブレークスルーが起きる 11. まずはコードの整理 • 今回の変更に関係するコードとそうでない コードを分ける – 機能の変更はしない – コードを分ける基手段はメソッド • 今回の変更の対象となるデータとその操作だ けを集めた部品(メソッド)を作る – 「メソッドの抽出」リファクタリング – IDE を使いこなす – 「リファクタリング」で復習する • 関係するクラス、すべてでこれを繰り返す – 現在の機能が動いている

    リーンなコードを書こう:実践的なオブジェクト指向設計
  • オブジェクト指向プログラミング再入門

    論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...

    オブジェクト指向プログラミング再入門
  • ちいさなオブジェクトでドメインモデルを組み立てる

    ドメイン駆動設計やるならスモールオブジェクトプログラミング。オブジェクト指向の設計・実装の基スタイル。Read less

    ちいさなオブジェクトでドメインモデルを組み立てる
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • OOコード養成ギブスとやらが人気らしい。 - なんたらノート第三期ベータ

    人気らしいので見てみました。 OOコード養成ギブス - rants エクストリームプログラミング(XP)同様、ある種の正論を極論に展開するとジョークになるということ?XPはソフトウェア開発の中で、人について考えるきっかけを与えてくれたよね。これも、アンチがいればいるほど、OOP神話について考えるきっかけになるもの? 個々の要素単位で議論しにくいXPと違って、これはひとつづつ突っ込めるので、やってみよう。多くの感想が、「現実のヨゴレ仕事にはフィットしない」って感じだけど、原理的にもビミョーだし、いじりやすいね。 まず、大前提となっているのが、リソースが無尽蔵にあると仮定され、かつ、型宣言が強制され、かつ、プリミティブ型をオブジェクトと区別する言語、つまり、Javaだけについての話なんですね。これは問題ありです。タイトルは「OOコード〜」ではなく、「Javaコード〜」でないと誤解を招く。 1.

    OOコード養成ギブスとやらが人気らしい。 - なんたらノート第三期ベータ
    rudo108
    rudo108 2014/04/15
  • オブジェクト指向できていますか?

    3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。

    オブジェクト指向できていますか?
  • いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog

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

    いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog
  • Strategic Choice

    Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン

  • とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis

    「より堅牢で正確性の高いソフトウェアを作りたいぜ!」と願う.NETデベロッパーお待ちかねの、 契約による設計(DbC)をサポートするCode Contractsが.NET Framework4より利用できるようになります。 C#をベースとして契約による設計をサポートする「Spec#」を利用するという方法もありますが、 学習負担を軽減するためにと、マイクロソフトは言語を意識しなくても開発者が利用できるように、 Code Contractsとして.NET Frameworkで契約をサポートしてくれました。 これは、オブジェクト指向および、オブジェクト指向プログラミングが大好きな.NET開発者にとって、とても良い知らせです。 わたしも待ち望んでいたうちのひとりです。ありがとうマイクロソフト!!という気持ちでいっぱいです。 VisualStudio2010が4月12日(米国)にローンチされることが

    とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis
  • 突破すると一気に学習が加速する「オブジェクト指向学習の壁」を突破する鍵となる知識を、中学生でも分かるように図解してみた(初学者向け) - @fromdusktildawnの本館

    The domain ulog.cc is blocked.

    rudo108
    rudo108 2012/05/06
  • 1