タグ

設計に関するnodatのブックマーク (9)

  • 翻訳: WebAPI 設計のベストプラクティス - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これは Enchant の開発者である Vinay Sahni さんが書いた記事「Best Practices for Designing a Pragmatic RESTful API」1を、ご人の許可を得て翻訳したものです。 RESTful な WebAPI を設計しようとすると、細かなところで長考したり議論したりすると思います。また、他の API に倣ってやってはみたものの、当にそれでいいのか、どうしてそうしているのか分からない、何てことも少なくはないと思います。 この記事では、そのようなハマリどころについて Vinay さん

    翻訳: WebAPI 設計のベストプラクティス - Qiita
  • ActiveRecord のモデルを整理する7つのパターン - tkawachi Blog

    7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ

  • オブジェクト指向設計とは - @ledsun blog

    オブジェクト指向という言葉には オブジェクト指向分析(OOA) オブジェクト指向設計(OOD) オブジェクト指向プログラミング(OOP) の三つの意味があります。 オブジェクト指向初心者泣かせです。 ここではオブジェクト指向設計を説明します。 ソフトウェアの設計 ソフトウェアの設計には二つの側面があります。 作成するソフトウェアの共通部分を探し出しモジュール化する 作成するソフトウェアが将来変更される部分を抽象化し変更しやすくする 一つ目のモジュール化は構造化設計からある手法です。 オブジェクト指向設計で特に取り上げる点はありません。 ここでは二つ目の将来の変更のために抽象化することに重点を当てます。 オブジェクト指向設計 オブジェクト指向設計とは多態を実装する部分を決めることです。 多態とはオブジェクト指向言語を活用した次のものです。 変更可能な点に抽象クラス*1 (オブジェクト指向言語

    オブジェクト指向設計とは - @ledsun blog
  • 綺麗な設計を身に付けるための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ルール
  • 『SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道-』に参加してきた #devlove - Diary of absj31

    SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道- - DevLOVE 2012/10/09 SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道 - DevLOVE #devlove - Togetter 講師及びその講師の方が話されるテーマも相俟って、募集後即定員が埋まる盛況振り。自分もタイミングを逸しキャンセル待ちで登録していたのですが、晴れてキャンセル待ち繰り上がりで参加資格を得る事が出来たのでこの日参加して来ました。 会場はマイクロソフト品川社セミナールーム。今回はいつにもまして参加者も著名な方が多数参加。注目度の高さがここでも伺えます。 papandaさんの今回のイベント開催に至る経緯として以下の様なコメントが最初にあり、間髪入れずに編へGOです。 ブログを読んでいて、書かれている事が仕事に対して危機感を持つ内容だった。 こういった内容を書かれる方のお話を聞いてみたい。

    『SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道-』に参加してきた #devlove - Diary of absj31
  • MOVEは望まれなかった子 - the sea of fertility

    なにやらMOVEが話題です。 MVC is dead, it’s time to MOVE on. http://cirw.in/blog/time-to-move-on [翻訳]MVCは死んだ。MOVEするときがきた きしだのはてな http://d.hatena.ne.jp/nowokay/20120704 Twitterで「”MOVEは生まれた瞬間死んだ” って記事まだー?」って騒いでたら「お前が書けよ」の流れだったので息抜きに書きます。息抜きなので図が無いのは勘弁してください。 MOVEが生まれていない理由 この文中ではMOVEが生まれた理由はMVCの問題点に関わるとされており、そのMVCの問題点としてされているのは次の2点です。 MVCではControllerが肥大化する MVCは10年古い技術で設計されていて、最新のプログラミングパラダイムに対応していない。 しかしこの理由のう

  • デメテルの法則 - Wikipedia

    デメテルの法則 (Law of Demeter, LoD) または最小知識の原則 (Principle of Least Knowledge) とは、ソフトウェアの設計、特にオブジェクト指向プログラムの設計におけるガイドラインである。 このガイドラインは1987年の末にかけてノースイースタン大学で作成された。簡潔に言うと「直接の友達とだけ話すこと」と要約できる。基的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 「デメテルの法則」という名前は、この法則がアダプティブプログラミングとアスペクト指向プログラミングに関する研究であるデメテルプロジェクトの成果であることに由来する。プロジェクト名は農業の女神であるデーメーテールにあやかっている。 オブジェクト指向プログラムにデメテルの法則を適用する場

  • naoyaのはてなダイアリー - PofEAA読書会振り返り

    さて、昨日もちょっと触れましたが PofEAA 読書会に行ってきました。Patterns of Enterprise Application Architecture (邦訳: エンタープライズ アプリケーションアーキテクチャパターン) の読書会で、昨日は第10章の Data Source Architectural Patterns でした。Ruby on Rails の O/R マッパであるところの ActiveRecord の元になってるパターン、Active Record パターン (ややこしいな) が含まれる章で、みなさん曰く書籍の中でも特に面白い章だとのことでした。 Table Data Gateway Row Data Gateway Active Record Data Mapper の 4 つのパターンがありました。 この書籍、こんな感じでいろんなエンタープライズアプリケ

    naoyaのはてなダイアリー - PofEAA読書会振り返り
  • REST APIの良い、悪い、醜い

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    REST APIの良い、悪い、醜い
  • 1