タグ

oopに関するenmtkntのブックマーク (19)

  • ドメインもしくはドメインモデルという概念が登場する書籍一覧

    Help us understand the problem. What are the problem?

    ドメインもしくはドメインモデルという概念が登場する書籍一覧
  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

    2017年7月5日紙版発売 2017年7月5日電子版発売 増田亨 著 A5判/320ページ 定価3,234円(体2,940円+税10%) ISBN 978-4-7741-9087-7 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「ソースがごちゃごちゃしていて,どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために,あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが,来はありえない場所にまで影響して,大幅なやり直しになってしまった」といったトラブルが起こるのは,ソフトウェアの設計に問題があるから。日最大級となる60万件以上の求人情

    現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
  • Life is beautiful: 日本語とオブジェクト指向

    先日、日経BPの出版局の方と話をする機会があったのだが、私がマイクロソフトでウィンドウズ95の開発に関わったことに触れた際、「ユーザーインターフェイスの設計において、日人であることで何か役に立ったことはありますか?」と聞かれた。日人であることがプラスになったとは思わないが、ふと思い出したことがある。当時、「日語はオブジェクト指向な言語だな」と思ったことである。 その当時(90年代初頭)、アップルの方が使い勝手に関しては一歩も二歩もマイクロソフトより進んでおり、そのためには、もともとゼロックスが提案しアップルが商品化した、「オブジェクト指向ユーザーインターフェイス」の考え方を、より推し進めるしかないという戦略で、ウィンドウズ95のユーザーインターフェイス(当時は Object-Oriented Shell と呼ばれていた)の開発をしていた。 「オブジェクト指向ユーザーインターフェイス」

    Life is beautiful: 日本語とオブジェクト指向
    enmtknt
    enmtknt 2017/05/09
  • 俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita

    ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分もで書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ

    俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita
    enmtknt
    enmtknt 2016/12/16
  • 増田 亨

    顧客に、役に立つソフトウェアシステムを提供する 著書: 現場で役立つシステム設計 ~変更を楽で安全にするオブジェクト指向の実践技法 技術: ドメイン駆動設計(DDD) , ICONIX , RDRA, Java / Spring domain-driven design object-oriented object-oriented programming ddd devlove ドメイン駆動設計 genbadeddd agile software development bpstudy java xp extreme programming dddesign オブジェクト指向 ooc_a ooc_2020 ccc_a2 jjug_ccc devlovex legacycode2019 microservices mixleap spring boot soi soe sor spring

    増田 亨
  • 綺麗な設計を身に付けるための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ルール
  • 契約による設計の紹介

    Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | DevFest Berlin 23

    契約による設計の紹介
    enmtknt
    enmtknt 2016/09/01
  • オブジェクト指向プログラミングとは結局なんなのか | 黒曜の吹き溜まり

    この記事は第2のドワンゴ Advent Calendar 2015の5日目です。 ちなみに前日は@deflisさんでした。 先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく… 去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。 なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。 「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付

    enmtknt
    enmtknt 2015/12/07
  • - オブジェクト指向の法則集

    1999/07/07 更新 石井 勝 はじめに ここでは,オブジェクト指向に出てくる法則・原則をまとめました.パターンに比べてほとんど知られていないのが現状ですが,優れたオブジェクト指向開発者を目指すならデザインパターンよりまずこっちを理解し覚えてしまいましょう. これらの法則は,絶対守らなければならないというものではありません.開発中に法則が守られているか意識することが重要です.つまり 今行っている設計はその法則が守られているだろうか その法則を破っている場合,破るべき正当な理由があるだろうか と絶えず考えるようにしましょう.そうするとそれは自然に優れたオブジェクト指向設計になるのです.つまりこれらの法則は,優れたオブジェクト指向開発のための指針なのです. Robert C. Martin の Principles of OOD Robert C. Martinは,オブジェクト指向設計の

    enmtknt
    enmtknt 2015/11/11
  • - Open-Closed Principle とデザインパターン

    1999/09/03 更新 石井 勝 さて,このセクションではデザインパターンを統一的に理解するために,「 Open-Closed Principle (OCP) 」 という設計ルールに基づいてパターンを眺めてみることにします.まず OCP の意味と解説を行い,その後デザインパターンを OCP の観点から見てみます.実は,デザインパターンのうちの多くは OCP を満たすために用意されたものと考えることができるのです.このセクションでは, OCP を理解し,数あるデザインパターンの中からどういう場合にどのパターンを使うのが一番効果的なのかを考えます. GoF のデザインパターンは,全部で 23 個ものパターンがあります.このデザインパターンは,多くの局面で繰り返し現れる設計を抽出したものですから,オブジェクト指向のエッセンスを集めたものだと言えるでしょう.オブジェクト指向には,カプセル化,継

    enmtknt
    enmtknt 2015/11/10
  • 引数チェックの責務を設計する — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。今回のエントリも、若者との対話シリーズとなります。 あるオブジェクトが別のオブジェクトを呼び出すとき、受け渡される情報のチェックをどちらの責務で行なうかという問題があります。呼び出し側でチェックを行なうのがよいのでしょうか。それとも、呼び出され側でチェックを行なうのがよいのでしょうか。 この問題は、結局のところ設計の問題であり、ケース・バイ・ケースであるというのが正解になります。ですから、どのようにケースを見極めるのかという考え方が重要です。 信頼領域 『オブジェクトデザイン』には、この問題のヒントになるアイデアが書かれています。それが、「信頼領域」という考え方です。 信頼領域とは、システムを「信頼するコミュニケーションが発生する領域に切り分け」た領域のことです。システムは、ユーザーとユーザーインタフェースの境界、外部システムとの境界、異なるレイヤーとの境界

    引数チェックの責務を設計する — みんなのウェディングエンジニアリングブログ
    enmtknt
    enmtknt 2015/11/05
  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

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

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
  • Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜 - YAPC::Asia Tokyo 2015

    Three years on Perl ~ The technology to developing cool web service ~ Accepted #yapcasiaE Vote! Tweet 発表者は,この三年間はてなブログというイケてるPerlのサービスの開発に携ってきました… Perlの最新を追い求め続けた三年間でした… なにも分からず,SQLをコピペし続けた数ヶ月… つらいことも,たのしいことも,みんな分かちあったコードベース… 救いを求め,藁にもすがる思いで,朝も夜も読み続けたオブジェクト指向入門…… 偶然発見して,これだと思ったドメイン駆動設計…… 苦しみの軌跡と,現在最高の設計を紹介します………!!!!!!! 当時最強のフレームワーク それまでの,社内フレームワーク 鳴り物入りで登場した,当時最強のフレームワーク 社内でも歓迎されたが…… 最強のフレームワーク vs

  • YAPCでおもしろ発表してきた - hitode909の日記

    YAPCおもしろ発表してきた. はてなブログの開発を振り返って設計の進化と最高の設計を紹介するという話. speakerdeck.com なぜか大人気発表みたいになってて,会場満員で,すみませんこんなところに来ていただいてすみませんというかんじだった. 紹介したはこちら.予約投稿で仕込んであって,発表終わったら,こちらから買ってくださいとかやろうと思ってたけど,すっかり忘れてた. YAPCの発表で紹介した - hitode909の日記 質問たくさんいただいて,よいかんじにおさまったと思う. 「難しくて挫折するという問題がありますよね」「歯をい縛って実装しろって書いてあった」 #yapcasiaE— そらは (@sora_h) 2015, 8月 21 Q: 「コメントの良い書き方は?」 A: 「オブジェクト指向入門下巻に書いてあります」 ↓ 「買って読みます。」 #yapcasiaE

    YAPCでおもしろ発表してきた - hitode909の日記
  • フィールドごとに getter/setter を用意するな - ぐるぐる~

    未だにフィールドごとに getter/setter を用意しろって言う人がいてびっくりするわけですが。 フィールドごとに getter/setter を用意する人の言い分 そうやれって/Webページに書いてある フィールドに触れないと不便だろう それが OOP だ 言い分に対する反論 そうやるなってに書いてある 5章 オブジェクト指向エクササイズ 5.2.10 ルール9:Getter、Setter、プロパティを使用しないこと ThoughtWorksアンソロジー List<Book> getBooks() { return books; } これはクライアントに最大限の柔軟性を提供するが、さまざまな問題を生み出す. コレクションをそのまま返すと, その内容に依存している内部状態が知らない間に無効にされてしまうかもしれない. 略 代わりに, コレクション内の情報への, 限定された, 意味

    フィールドごとに getter/setter を用意するな - ぐるぐる~
  • (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita

    (2021-8-28追記) この記事の改訂版を書いてみました。改訂版の方が易しい内容になっているので、プログラミング初心者の方はこちらを参考にしてみてください。 はじめに:「引数があるよりは、ない方が良い」? 先日、同僚の西見さん(@mah_lab)がこんな技術ブログを書いていました。 インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) 同じ内容を僕だったらどういうふうに書くかな~?と思って、ちょっと書き始めてみたんですが、わかりやすく実践的な説明をするのは意外と難しく、内容も西見さんのブログとほぼ同じになりそうだったので、途中で断念しました。 というわけで、インスタンスメソッドとクラスメソッドの使い分けが未だにあやふやだという方は、ぜひ西見さんのブログを読んでみてください! ・・・なんですが、1点だけ気になる点がありました。 それはインスタンスメソッ

    (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita
  • インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) | mah365

    Rubyといったオブジェクト指向言語を学ぶと、メソッドの定義方法としてインスタンスメソッドとクラスメソッドという2通りの定義方法があることを学ぶと思います。しかし、言語自体のガイドブックには「定義方法にインスタンスメソッドとクラスメソッドがある」と書いてあるだけで、大抵その使い分けについては書かれていません。 そういう訳で、このエントリではその使い分けについて少し考えてみたいと思います。理論的に厳密な使い分けを目指すというよりは、そもそも使い分けの検討が全くつかない!という方に向けて、その指針の一助となることを目指します。 インスタンスメソッドとクラスメソッドとはそもそものところ、Rubyといった「オブジェクト指向の考え方」を実装した言語の機能です。その機能がなぜあるのか?というそもそものところは、オブジェクト指向の考え方にさかのぼることになります。 そこで、インスタンスメソッドとクラスメ

    インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) | mah365
    enmtknt
    enmtknt 2014/11/13
    まずインスタンスメソッドで実現できないか?を考えるべき
  • 「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘

    オブジェクト指向でなぜつくるのか 第2版 作者: 平澤章出版社/メーカー: 日経BP社発売日: 2014/03/05メディア: Kindle版この商品を含むブログ (2件) を見る TL;DR 多くの人の「このを読むべきかどうか」という関心事に先に回答しておくと、「万人が読んでおいて損は無いとまでは言い切れないけれど、オブジェクト指向に興味があって元気もあるという奇特な人間は読んでも良い」です。 オブジェクト指向とは何か 平澤 章さんが書いた「オブジェクト指向でなぜつくるのか」というを読みました。オブジェクト指向を「難しいソフトウェア開発を楽に行うための総合技術」と表現しながら、「オブジェクト指向とは何か」という問いに対して現実的な解を与えようという一貫した姿勢に親しみを覚えました。 保守や再利用を目的とした技術 目的という側面では「オブジェクト指向はソフトウェアの保守や再利用をしやす

    「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘
    enmtknt
    enmtknt 2014/10/09
  • オブジェクト指向の法則集 - Qiita

    この記事は、故石井勝さんが1999年に書いた記事を Qiita に転載するものです。オブラブ(objectclub.jp)にて記事をホスティングしていましたが、現代でも十分に読める内容なので、たくさんの方に読んでもらいたいと思い、若干の編集(リンクとコンテキスト追加)を平鍋が行い、転載します。今でも、読みやすく、カジュアルな語り口のよい記事です。 オブジェクト指向の法則集(転載元:http://objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/oo-principles.html ) なお、この記事の他にも石井さんのオブジェクト指向やRubyに関する多くの記事をオブラブの「まさーるのページ」で読むことができます。では、以下に石井勝さん(旧メールアドレス masarl@nifty.com)の記事を転載します

    オブジェクト指向の法則集 - Qiita
    enmtknt
    enmtknt 2014/09/11
  • 1