タグ

oopに関するnaoyesのブックマーク (15)

  • よいオブジェクトの七つの美徳 | To Be Decided

    このエントリでは、Yegor Bugayenkoによる記事、Seven Virtues of a Good Objectを紹介する。 (Yegorから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 Martin Fowler曰く、 ライブラリは質的には呼び出し可能な関数の集合で、最近は普通クラス内にまとめられる。 クラス内にまとめられた関数? 失礼を承知で言わせてもらうが、これは間違っている。 そして、これはオブジェクト指向プログラミングにおいて、クラスに対する非常に一般的な誤解だ。 クラスは関数をまとめるものではないし、オブジェクトはデータ構造体ではない。 では、なにが適切なオブジェクトなのか? どれが不適切なオブジェクトなのか? その違いは何か? これは論争を呼ぶ主題ではあるが

  • オブジェクト指向の設計と実装の学び方のコツ

    1. 学習パターンを実践する オブジェクト指向の設計と実装の 学び方のコツ 2012年9月12日 有限会社 システム設計 増田 masuda@system-sekkei.com Twitter : @masuda220

    オブジェクト指向の設計と実装の学び方のコツ
  • おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ

    はじめに みなさんはじめまして。 アメーバ事業ゲーム部門でJavaエンジニアをやってる朝倉です。

    おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
  • オブジェクト指向システム分析設計入門 青木淳

    はじめに このはオブジェクト指向技術を利用してソフトウェア開発することを目指す技術者および管理者のために書かれたです。プログラムのコードや難しい数式などを排除してあり,図と文章によって基概念や適用技術を平易に解説しています。オブジェクト指向技術数学(形式)ぬきで探求する試みといえるでしょう。 来,オブジェクト指向技術を,瓶から瓶へ水をもらさぬように,正確に伝えるには,数学(型理論)を必要とします。数学的形式化が行われていないと,オブジェクト指向で表面化する問題の議論がかみ合わず空転することが多いからです。あの時はこうだっだ,この時にはああだったと経験則の披露になりかねないのです。やはり何かしらの形式化は必要でしょう。しかし,数学的形式化の苦しみときたら並大抵ではありません。特に,後述するインヘリタンス(継承) や並列などが絡んだあかつきには残酷なのです。私だけかもしれませんが,得

  • オペランドの原則 - Strategic Choice

    メソッドの引数にはオペランドのみを入れるべきである。どういうこと?クラスへのアクセスはメソッドを通じて行われます。メソッドが単純で使いやすいことが、クラスの使いやすさを決定します。特にメソッドの引数リストが短いことは、メソッドをシンプルにするので、クラスの品質に大きく貢献します。メソッドの引数は、2種類に大別できます。オペランド引数 操作対象であるオブジェクトを表す。オプション引数 操作のモードを表す。このうち、メソッドの引数には「オペランド」のみを入れるようにします。「オプション」は、メソッド呼び出しの中で設定するのではなく、クラスにデフォルト値を持った上で、setter用意して別途指定できるようにします。たとえば?印刷機能を考えます。典型的な印刷メソッドは以下のようなものです。 class Printer def print(printer_name, paper_size, colo

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

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

    いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • javascript - にはクラスはない : 404 Blog Not Found

    2009年06月13日22:00 カテゴリLightweight Languages javascript - にはクラスはない かえってわかりにくくなっている感じをかつてさんざん実感したので。 JavaScriptのオブジェクトについて考察してみた - あと味 JavaScriptにおけるほとんど全てのデータはオブジェクトである オブジェクトの定義にもいろいろありますが、ここでは「メソッドを持つ」という狭い意味においても事実だということです。実際に見てみましょう。 p(true.toString()); p("String".toString()); p((1).toString()); p((3.14159265).toString()); p([0,1,2,3].toString()); p({q:"answer to life, the universe, and everythi

    javascript - にはクラスはない : 404 Blog Not Found
  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
  • 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
  • perl - Class vs. Closure : 404 Blog Not Found

    2008年07月13日03:30 カテゴリLightweight Languages perl - Class vs. Closure PERL HACKS(日語版) [英語版] うーん、さすがにそれはいいすぎでしょうか。 クロージャの概念をクラスとの対比でわかりやすく説明する。 - サンプルコードによる Perl 入門 ここで気づいてほしいことは、クラスとクロージャは、実は同じものだということです。たしかにオブジェクトの定義から行くと、 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス それで、オブジェクトとは何か、といえば、「自分が何が出来るのか[コード]を知っているデータ」ということになる。 であり、クロージャー(closure)は「自分が何を持っているか[データ]を知っているコード」なので、等価ではある。実際、 package Class; sub

    perl - Class vs. Closure : 404 Blog Not Found
  • JavaScriptの関数とメソッド:CodeZine

    はじめに JavaScriptはオブジェクト指向言語です。しかし利便性のために、C言語などと同じようにグローバルな関数を定義し、構造化的な手法でプログラミングすることも可能です。 この記事では、JavaScriptにおける関数の基的な性質を見ていくと共に、関数の正体、および関数の使用方法について解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をしている人を対象としています。

  • http://hamasyou.com/archives/Engineer-Soul/daooraoooiiadata_access_objectoraooeieco.php

  • 1