タグ

OOPに関するatsushifxのブックマーク (40)

  • 今、Cで開発するためのスタンダードを知るための本 - L'eclat des jours(2013-09-30)

    _ 今、Cで開発するためのスタンダードを知るための 例によってアスキーの鈴木さんから、をもらった。花井さんのモダンC言語プログラミングだ。なお、似たような題の洋書があって、しかも花井さんは翻訳もするので、そのの翻訳書と勘違いされる可能性もありそうだが、完全にオリジナルだ。 Cは、Unixと共に(というか少し遅れて)生まれたということは、すでに40年以上の歴史があり、それだけの年月がたてば、COBOLなどと同じく老害言語と言われてもこれっぽっちもおかしくはない。 ところが、COBOLと異なり開発者市場がどんどん先細り(あるいは固定化)されるということはなく、むしろ増えている。それどころか最近の調査では最も利用されている(TIOBE 2013)。 一方、C++が先鞭をつけたビジネスプログラミングへのオブジェクト指向プログラミングの適用は、Java、Objective-C、C#と種類を増や

    atsushifx
    atsushifx 2013/10/01
    アジャイルやOPP、DevOpsなどの知見を取り込んだモダンなC言語プログラミングの本、読みたくてたまらん。namespaceとかをどう実現しているかが気になるな
  • オブジェクト指向 と FizzBuzz - みねこあ

    OOP らしい FizzBuzz って難しいですね。 side-A このようなタイトルで記事を書いているのは、当然 http://codeiq.hatenablog.com/entry/2013/08/07/162935 さんに影響されてです。「つれづれ」ではなんだか変なテンションで随分と失礼なことを書いてしまったのですが、冷静になれば、やっぱり良い記事ですよね。すみませんでした。 つれづれで書いたとおり「OOPらしさ」については、若干思うところがあります。しかし一般に OOP な開発ではだいたいこのような感じでプログラムが形作られていて、なので、確かにOOPらしいなと思いなおした次第です。 FizzBuzz という簡単なお題を「仕様」として、その実装を通して OOP による開発プロセスをひと通り説明してみせるのは、OO な開発を知らない方に とても良いオーバービューを与えてくれると思いま

    オブジェクト指向 と FizzBuzz - みねこあ
    atsushifx
    atsushifx 2013/09/06
    CodeIQの記事、PHPでオブエクト指向でFizzBuzzのOOPな人からの返答。id:sumimさん、すごい。やっぱしSmalltalkは一度きちんと勉強しなくちゃだわ
  • いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog

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

    いまさら聞けない「オブジェクト指向設計の3つのコツ」~オブジェクト指向設計問題解説 #objectoriented - CodeIQ Blog
    atsushifx
    atsushifx 2013/08/26
    よくわからないとおもったら実装パターンの話なのね。しかも、ピアソン出版だからたぶん手に入らない。
  • 『PHPでオブジェクト指向的FizzBuzz』問題の解説記事~PHPが書けてオブジェクト指向がわかるとイケてるエンジニアになれる!? #php #オブジェクト指向 - CodeIQ Blog

    CodeIQ中の人、millionsmileです。 PHPメンターズの後藤秀宣さん出題の『オブジェクト指向的FizzBuzz』問題の解説記事です! PHPは、開発言語別の求人数ランキングで2位であります(出典)。さらには、PHPが書けてオブジェクト指向がわかるエンジニアへの企業ニーズは高いものの、実際は、まだまだ層が薄いということもあり、今回の出題へ、となりました。 ぜひ解説記事を読んで、イケてるオブジェクト指向がわかるPHPエンジニアをめざしてみてはどうでしょう。 以下、問題文です。 FizzBuzz問題を解くアプリケーションを実装しているとします。 ★FizzBuzz問題とは? 1, 2, 3, ・・・という入力に対して3で割り切れる場合は「fizz」、5で割り切れる場合は「buzz」 3でも5でも割り切れる場合は「fizzbuzz」、それ以外は数値をそのまま出力する PHPコードは次

    『PHPでオブジェクト指向的FizzBuzz』問題の解説記事~PHPが書けてオブジェクト指向がわかるとイケてるエンジニアになれる!? #php #オブジェクト指向 - CodeIQ Blog
    atsushifx
    atsushifx 2013/08/07
    OOPを知るにはいい問題と解説。個人的にはSpec側クラスでFizzBuzzの変換をさせたい。App側だとロジックがあってない気がする。
  • 最強オブジェクト指向言語 JavaScript 再入門!

    この資料では、JavaScript でオブジェクト指向プログラミングを行う際に備えておくことが望ましい、基礎知識や概念について解説します。 【対象者】 ・JavaScript でアプリケーションを構築できる方 ・JavaScript におけるオブジェクト指向プログラミングの 実現手法や原理への理解を深めたい方 ・Java 的なクラスベースの言語との違いに違和感や混乱を 感じてらっしゃる方

    最強オブジェクト指向言語 JavaScript 再入門!
  • 普通のアプリケーションのコードに関数定義と関数適用とリテラル以外を書いてはいけない - 標高+1m

    underscore-fix とか Pastaとかを仕事で使ってみていたら、前から薄々感じていた事に確信を持った。 ライブラリが十分に強力なら、プログラム中に関数定義、関数適用とリテラル以外は出てこない。そして逆に、forやifやswitchやnewが必要になったら、その関数は一般化してライブラリに押しやらなくてはいけない。 On Lispだかなんだかのボトムアップデザインの説明で、「アプリケーションを書くための言語を作って、その言語でアプリケーションを書く」みたいな文章を読んだ記憶があるけど、この「言語」っていうのは、別にDSLである必要もLispマクロである必要もなくて、「ライブラリ」って意味と取って問題なくて、それならLisp以外の言語でもこの考え方は重要になる。自分のライブラリが十分に成熟するまでは、なにかアプリケーションを作る度にライブラリ関数を増やすつもりでやらなくちゃいけない

    普通のアプリケーションのコードに関数定義と関数適用とリテラル以外を書いてはいけない - 標高+1m
    atsushifx
    atsushifx 2013/06/12
    話題のhttp://d.hatena.ne.jp/ympbyc/20130608/1370679170 より、こっちのほうが重要な感じ。大学時代がC言語だったことを考えると、やっとここまできたかという感じ。抽象化とカプセル化が実用レベルで使えるというのはいい
  • If-less programming

    I recently watched a Google tech talk called “The Clean Code Talks – Inheritance, Polymorphism, & Testing”, and I was amazed how Misko Hevery explained that (a lot of) ifs can be a smelly thing in a Object Oriented language. Being fascinated by the idea, I decided to google it, and I was surprised that if-less programming is a pretty popular topic. I noticed a response to a stackoverflow question

    atsushifx
    atsushifx 2012/12/30
    あとのDiscussionが重要。僕の意見では、if-lessはいわゆるリファクタリングのやりすぎと一緒なのでバランスが大事
  • 気になる? - がるの健忘録

    元ネタ http://d.hatena.ne.jp/Sikushima/20101126/1290733753 えと…まず、このSQL SELECT * FROM 社員 INNER JOIN 部課 ON 社員.部課ID = 部課.IDつまり「部課テーブルの情報を含めた、社員さんの情報一式とってこい」なわけですよね? やりたいことは。 これをOOPで一番ざっくり書くと、たぶんこうなるのですが。 $obj = new 社員全体を意味するクラス(); $list_all = $obj->get社員の情報一式();「get社員の情報一式」の中で何をどうやっているのかはとりあえず隠蔽しておくんじゃないかなぁ、と。 そうすれば、何かがあったときに、それこそ最悪「インタフェースだけあわせてクラス総とっかえ」してもよいわけですし。 あぁ、ちなみにおいちゃんの一番の好みは、たぶんこんな感じのインタフェース。

    気になる? - がるの健忘録
    atsushifx
    atsushifx 2010/11/29
    SQLマンセイな敷島社長のブログへの突っ込み。というか、この記事を読めば読むほどSQLよりOOPのほうがいいよね。内部を気にする必要ないし
  • オブジェクト指向の本質 - わさっきhb

    WEB+DB PRESS Vol.59 作者: 竹内真,猪狩丈治,矢野りん,中島拓,伊藤敬彦,角田直行,はまちや2,柄沢聡太郎,田中正裕,梶原大輔,藤真樹,増井俊之,加藤幹生,藤澤瑞樹,木村俊也,永井幸輔,中尾光輝,平田雄一,渡辺智暁,藤吾郎,原悠,浜階生,八柳幹太郎,uupaa,塙与志夫,ミック,大沢和宏,中島聡,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2010/10/23メディア: 大型購入: 9人 クリック: 180回この商品を含むブログ (20件) を見る手軽に自然言語処理を学ぶには「入門 自然言語処理」の第12章がお勧め - 武蔵野日記でも取り上げられていますが,専門が違うと関心も違うものですね,私自身は,データマイニングの特集(特集3 [実践]大規模データ分析)は軽く目を通した程度で,特集1(Webサイト 超高速化実況中継)を2回,通し読みし

    オブジェクト指向の本質 - わさっきhb
    atsushifx
    atsushifx 2010/11/02
    コラムへの突っ込みをして起こってる。「オブジェクト指向の本質」なんて大上段過ぎるから。ちなみに自分にとってのオブジェクト指向はメッセージ指向とカプセル化なんだけど、ほかの人はどうだろう
  • Pharo - Welcome to Pharo!

    A glimpse of Pharo$ wget -O- https://get.pharo.org/64 | bash $ ./pharo Pharo.image eval "42 factorial"TeaserSimple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Yet a powerful and elegant language with a full syntax fitting in one postcard! Pharo is objects and messages all the way down.Live, immersive environment: Immediate feedback at any moment o

    atsushifx
    atsushifx 2010/07/25
    オープンソースのSmalltalk処理系
  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

    忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
    atsushifx
    atsushifx 2010/04/09
    オブジェクト指向の議論をするにははずせない記事
  • ものすごく初歩的な「どうしてオブジェクト指向を使うのか」の説明 - 遥か彼方の彼方から

    プログラムオブジェクト指向が難解なだけの不気味な悪人だと思っているだろう友人達に向けて、オブジェクト指向の良さというか、必要性みたいなのを書いてみようかなと思います。というのも、凄腕プログラマ達を見ているとオブジェクト指向は複雑怪奇なものに見えるし、また「これがオブジェクト指向だよ」と例で見せられる巨大なクラスはあくまで利用するだけのものに思えるし、文法解説書にあるオブジェクト指向の解説だと必要性がわからないかなーと思うからです。僕は全然オブジェクト指向を理解していないし、ましてや解説なんて出来るレベルではないのですが、オブジェクト指向の第一歩として役に立てればなと思います。読者対象はC言語をちょびっとでも囓ったことがある人で、言語はC++を使います。文法の話をするわけじゃないので、プログラムを読んで理解出来なくても大して問題はありません。 スタート地点:「平均を求めるプログラムを作る」あ

    atsushifx
    atsushifx 2009/06/13
    これはいい記事。オブジェクト指向がいいのは、オブジェクト任せができることなんだよね
  • カプセル化、情報隠蔽、データ隠蔽 - ぐるぐる~

    あちこちのサイトを見てると、間違った解釈をしてるのが多い。カプセル化なんて、情報隠蔽まで含んでるのが常識になりつつあるような。。。ここまで一般化してると情報隠蔽してるのがカプセル化というのが常識なのかも。 カプセル化・情報隠蔽・データ抽象化 - 今日の役に立たない一言 − Today’s Trifle! − カプセル化と情報隠蔽、データ隠蔽の違いがよくわからくなったので、手持ちので調べてみた。 基準 基準としては、 カプセル化、情報隠蔽、データ隠蔽の関係 カプセル化は隠蔽を含んでいるかどうか 対象はクラスのみか、そうでないか などなど。 一番目はそのまんま。二番目は、 // 隠蔽せずともカプセル化か class Hoge { int hoge; // なんかhogeを使うメソッド } // 隠蔽しなければカプセル化ではないか class Piyo { private int piyo;

    カプセル化、情報隠蔽、データ隠蔽 - ぐるぐる~
    atsushifx
    atsushifx 2009/02/03
    オブジェクト指向の要素のひとつカプセル化についての説明をさまざまな本から引用したアーティクル。自分的には、システムの機能を抽象化することで実装などの依存を少なく(できればなくす)ことだと理解した
  • URIエンコード(URLエンコード) | Diaspar Journal

    おすすめのクレジットカードを徹底比較 クレジットカードのおすすめ コンビニでお得なおすすめクレジットカード 普段利用することの多いコンビニでお得になるクレジットカードがあります。セブンイレブンン・ローソン・ファミリーマートなどよく利用するコンビニでお得になるクレジットカードを支払いで利用すれば多くのポイント還元があります。 1年間などの長い期間で計算すると、コンビニで還元率が高いクレジットカードを利用すると大きな差が出てきます。 三井住友カード(NL) 年会費永年無料還元率0.5%~5.0%国際ブランド 特典最大8,000円相当プレゼント セブンイレブン・ローソンマクドナルドなどでタッチ決済料で驚異の5.0%ポイント還元 セキュリティを高めカードの両面にカード番号や氏名、セキュリティーコードの無いナンバーレスクレジットカードです。カード番号等は全てアプリ上で管理します。最大の特徴は対象コ

    URIエンコード(URLエンコード) | Diaspar Journal
    atsushifx
    atsushifx 2009/01/29
    OOPなJavascriptの書き方チュートリアル
  • JavaScriptの巧い書き方 - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m

    atsushifx
    atsushifx 2009/01/19
    モダンなJavaScriptによるオブジェクトの書き方
  • 簡単なDIコンテナ - Sooey

    簡単なDIコンテナ 最小のDIコンテナ in PHP - anatoo勉強記より。 DIコンテナがなにやら大仰なものとして勘違いされているような気がしたので、機能を極限まで削ぎ落とした最小のDIコンテナを書いた。 これにはAOPは当然ないし、設定ファイルなどもない。 30行ほどのコードでDIコンテナっぽい動きを示せているところは素晴らしいです。確かにDIコンテナにAOPは必須ではないし、設定ファイルもできればない方がいいですもんね。 ただ、「最初の取っ掛かり」ということで極限まで簡略化されたのでしょうが、異なるコンポーネント間のDependencyをInjectionできないものはDIコンテナではなくて単なるオブジェクトプールのような気がします。簡単なsetterインジェクションをする場合なら、こんな感じでしょうか。 これはこれで設計的にヘンなところが色々ありますが、このくらいのコードだと

    atsushifx
    atsushifx 2008/12/16
    PHPによるDIコンテナサンプル
  • 最小のDIコンテナ in PHP - id:anatooのブログ

    DIコンテナがなにやら大仰なものとして勘違いされているような気がしたので、機能を極限まで削ぎ落とした最小のDIコンテナを書いた。 これにはAOPは当然ないし、設定ファイルなどもない。 <?php // DIContainer.php class DIContainer { protected $componentFactory; function __construct(ComponentFactory $c) { $this->componentFactory = $c; $c->accept($this); } function get($name) { $name = strtolower($name); if (!isset($this->objects[$name])) { $this->objects[$name] = $this->componentFactory->get(

    最小のDIコンテナ in PHP - id:anatooのブログ
    atsushifx
    atsushifx 2008/12/16
    PHPによる最低下のDI実装
  • openpearでPHP_Objectというライブラリを公開しました - テクメモ

    PHP_Object - openpear 実用性はほとんどないライブラリですが。 以下説明。 openpearに書いてあるものほとんどそのままです。 PHP_Object PHPを純粋なオブジェクト指向プログラミング言語っぽく書けるようにする。 主にメソッドチェーンするためのライブラリ。 サンプル <?php require_once 'PHP/Object.php'; function p($data) { return PHP_Object::factory($data); } $array = p(array('foo', 'bar')); // Arrayオブジェクトを作成 $array->push('baz'); // array_pushのエイリアス $array->var_dump; // 引数がない場合、括弧は省略できる /* 出力結果 &array(3) { [0]=>

    openpearでPHP_Objectというライブラリを公開しました - テクメモ
    atsushifx
    atsushifx 2008/12/12
    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
    atsushifx
    atsushifx 2008/07/30
    オブジェクト指向プログラミングを身につけるための決まりごと。
  • JavaScriptのイロハ:特集 - builder by ZDNet Japan

    builder by ZDNet Japanをご愛読頂きありがとうございます。 builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。 長らくのご愛読ありがとうございました。

    atsushifx
    atsushifx 2008/03/07
    JavaScriptでオブジェクト指向をするための実践的な記事