タグ

オブジェクト指向に関するishisakaのブックマーク (12)

  • 【C#】SOLID原則を学ぼう - Annulus Games

    今回の記事はオブジェクト指向プログラミングにおける設計の基、「SOLID原則」について。 ある程度プログラミングの文法を知っていれば、動作するコードを書くことは可能です。しかし、より良いコードを書きたいのであれば、文法の知識だけではなく、設計に関する知識も必要になってきます。 特にUnityでは、適当にコードを書いていくと目も当てられないようなスパゲッティーコードが容易に出来上がります。「とりあえずシングルトンにすりゃいいや!」みたいなノリで「何とかManager」クラスを作りまくった結果、「あれ?この処理どこに書いたんだっけ?」という状況になったこと、誰しも一度はありますよね…? 今回は、そんなクソk…良くないコードを書かないための設計原則である「SOLID原則」について紹介します。記事内のコードはC#で記述しますが、言語に関わらずSOLID原則は広く応用の効く考え方なので、是非とも覚

  • [Object-Oriented Conference] 資料まとめ | Qrunch(クランチ)

    技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです 駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!

    [Object-Oriented Conference] 資料まとめ | Qrunch(クランチ)
  • 5 User Centered Development Tactics to Start Using Today! - Developer Support

  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
  • ORMは不快なアンチパターン | To Be Decided

    このエントリでは、Yegor Bugayenkoによる記事、ORM Is an Offensive Anti-Patternを紹介する。 (Yegorから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 結論から言えば、ORMはオブジェクト指向プログラミングの原則の全てに違反するひどいアンチパターンだ。オブジェクトをバラバラに引き裂き、もの言わぬ受身なデータ入れに変えてしまう。 小さいWebアプリケーションから、数千のテーブルをCRUD操作するエンタープライズシステムまで、どんなアプリケーションにもORMが存在することはゆるせない。 代わりになるものは? SQLを話すオブジェクトだ。 ORMの仕組み オブジェクト関係マッピング (Object-relatinal mapping、ORM

  • 猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    TL;DR 手続き型プログラミングでは手続きを抽象化することで保守性を挙げることに成功したが、データを守ることには失敗してしまった。そこでオブジェクト指向はデータと手続きをひとかたまりにすることでデータを外から守るというコンセプトを打ち出した。 ここから、「手続き型プログラミングで書いてるのに手続きが十分に抽象化されていないのはヤバいね」とか「オブジェクト指向で書いてるのにひとかたまりじゃない雑多なデータに関心をもっちゃってるのはヤバいね」などの設計指針を導くことができるのである。そして純粋関数型言語の場合は……という話です。 はじめに プログラミング言語にはいろいろなパラダイムがあるが、その中で手続き型プログラミング、オブジェクト指向、純粋関数型言語について、わたしなりのひとつの史観を示すのがこの稿の目的である。となんかかっこつけて言ってみたんだけど、要するに、それぞれのパラダイムがどん

    猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    ishisaka
    ishisaka 2014/01/18
    委譲に関してはコンポーネント指向からの必要性の話も必要みたいな。
  • GRASP - Wikipedia

    GRASPとは、General Responsibility Assignment Software PatternあるいはPrinciple(汎用的責任性割り当てパターン/原則)の頭字語であり、オブジェクト指向設計に向けた九つの原則セットまたはパターンセットである[1]。計算機科学者クレーグ・ラーマン(英語版)の1997年著作「実践UMLパターン -Applying UML and Patterns-」で初めて紹介されている[2]。 「ソフトウェア開発において決定的な設計ツールになるのは、設計の原則の中で磨き上げられたメンタルであって、UMLやその他のテクノロジーではない」がラーマンの主張であり[3]、GRASPとはオブジェクト指向開発を助けるためのメンタルツール(mental tool)であると定義している[1]。 質問:オブジェクトに責務を割り当てる原則とは何か? 回答:その責務を全

  • 羽生田栄一の「オブジェクト論」---目次 | 日経 xTECH(クロステック)

    オブジェクト指向の考え方を適用する最大のメリットは概念操作という高水準での記述を可能にする点にあります。概念を抽出するということはシステムや業務に対する考え方も規定します。いかにシステムを認識すればよいか。コトバへの着目が重要です。 また,オブジェクトの識別とその関係整理は,オブジェクト指向に基づくシステム開発の第一歩であり,最も難しいステップです。現場のエキスパートが使う言葉に着目して候補を切り出し,適切かどうかを検証します。修飾語の関係や適用する比喩などから日常的で曖昧な認識の枠組みを整合的な体系へ変換し整理しなければなりません。 ・羽生田栄一の「オブジェクト論」【前編】(上) ・羽生田栄一の「オブジェクト論」【前編】(中) ・羽生田栄一の「オブジェクト論」【前編】(下) ・羽生田栄一の「オブジェクト論」【後編】(上) ・羽生田栄一の「オブジェクト論」【後編】(中) ・羽生田栄一の「オ

    羽生田栄一の「オブジェクト論」---目次 | 日経 xTECH(クロステック)
  • オブジェクト指向プログラミングは間違いだったか?

    原文(投稿日:2010/07/12)へのリンク 「メッセージ送信を行うSmalltalk-80から生まれたオブジェクト指向を振り返って、継承などの現在の状況を見てみれば、私たちは間違った道を下ってきたと言えるだろうか?」 これは、QCon London 2010 インタビュー の最初の質問だった。このインタビューを受けたのは、Erlangの最初の開発者であるJoe Armstrong博士とSmalltalk、OOP、パターンに長い間関係しているRalph Johnson博士だ。私たちは「間違った道」を当てもなくさまよってきたが、これはオブジェクトの考え方の実現方法に欠点があったためであり、この考え方自体の欠点ではないと2人は述べた。実際に、Ralph Johnson博士は以下の点から始めた。 あるアイデアを思いついて世の中に出すと、たいていの人にとって急進的過ぎるのはよくあることです。大半

    オブジェクト指向プログラミングは間違いだったか?
    ishisaka
    ishisaka 2010/08/03
    翻訳というか翻訳後の国語がいまいちですが読んでみるといいでしょう。そうかErlangはオブジェクト指向か。
  • Brad Abrams

    Design Guidelines, Managed code and the .NET Framework My Last Day at Microsoft Wow – I can’t believe it has already been 13 years at Microsoft.  I have had a great time here... Author: BradA Date: 04/20/2010 Silverlight 4 + RIA Services - Ready for Business: Ajax Endpoint Continuing in our series, I wanted to touch on how a RIA Services can be exposed  your service... Author: BradA Date: 04/12/20

    Brad Abrams
    ishisaka
    ishisaka 2009/03/20
    アプリケーションのアーキテクチャまで先祖返り
  • アラン・ケイ - 「ソフトウェア工学」は矛盾語法か? [邦訳]

    アラン・ケイ Is “Software Engineering” an Oxymoron? By Alan Kay (訳注: 以下の文章は、http://d.hatena.ne.jp/sumim/20080806/p1 に紹介されていたアラン・ケイの文章 -- Is “Software Engineering” an Oxymoron? -- を訳したものです。原文もsumim さんのサイトからダウンロードしました。最初に書かれたのは 1999年から2000年ごろと少し古いので注意してください。日語で矛盾語法(oxymoron)とは聞き慣れない言葉ですが、ジーニアス英和大辞典によると an open secret (公然の秘密) や、living death (生き地獄) のような矛盾する二つの単語を組み合わせた熟語の事を言うらしいです。) 真のソフトウェア工学はまだ未来のものだ。一年と

    ishisaka
    ishisaka 2009/01/31
    レイトバインディングの利点。
  • webで読む。オブジェクト指向システム分析設計入門

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

  • 1