並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 242件

新着順 人気順

OOPの検索結果201 - 240 件 / 242件

  • オブジェクト指向の3大要素をWebアプリの実装を例に解説【継承・カプセル化・多態性】 - Qiita

    【オブジェクト指向ってわかりにくくない?】 オブジェクト指向の3大要素:継承・カプセル化・多態性って何度勉強してもふわっとしか理解できなかったのは私だけでしょうか? 勉強中はわかったような気にはなるのですが、実際にコードを書く段階でどう使えばいいの?という状態になりました。 継承の説明で「勇者というclassから上位互換のスーパー勇者classを作る」と聞いて、実務で勇者はでてこないしなぁ、良さや使う場所のイメージが難しいなぁと思っていました。 しかし、実務を積んでいくと、良いコードを作る上で大事な考え方であることがわかってきました。 実務に近い内容で説明される方がわかりやすいと思うことが多いので、この記事では具体的なWebアプリの実装を元に継承・カプセル化・多態性を解説していきたいと思います。 【この記事で説明すること】 この記事では、書籍管理アプリを作ることを例にオブジェクト指向の継承

      オブジェクト指向の3大要素をWebアプリの実装を例に解説【継承・カプセル化・多態性】 - Qiita
    • #ooc_2020 / ドメイン駆動設計を支えるアーキテクチャテスト / Object-Oriented Conference 2020

      Object-Oriented Conference 2020(https://ooc.dev/) の登壇資料 プロポーザル https://fortee.jp/object-oriented-conference-2020/proposal/dedc65ee-8858-4eaa-aa47-4c1f1fbe4439 当日のタイムライン https://twitter.com/search?q=since%3A2020-02-16_16%3A30%3A00_JST%20until%3A2020-02-16_16%3A51%3A00_JST%20%23ooc_e%20-from%3Aakiray03 登壇レポートブログ https://tech-blog.rakus.co.jp/entry/20200313/it-event

        #ooc_2020 / ドメイン駆動設計を支えるアーキテクチャテスト / Object-Oriented Conference 2020
      • Redirecting

        • 初心者が一番わかりやすかったオブジェクト指向プログラミングの説明は、子供向けのマイクラ本だった。。|toshi

          オブジェクト指向がわかりにくいのには理由があった オブジェクト指向って初心者とっつきにくい概念で、わかりにくいですね。pythonなんか勉強しだすと、pythonはクラスの概念がわかるまでやれといわれるんですが、オブジェクトに関連するクラス、オブジェクト、インスタンス、インヘリテンスいろいろ出てきてこんがらがってしまう。。 また下手な参考書やネットの教材なんか読むと、数学の教科書の説明みたいな抽象的なことしか書いてなくて余計わからないんですね。オブジェクト指向がわからないのは世の参考書や教材の説明が今一つだからなんだと気づきました。 オブジェクト指向のクリアな説明とは子供向けの教科書で見つかった そんな時一番クリアにな説明している参考書を偶然見つけたんです! 実は子供向けの(といっても中学生くらい)のマインクラフトをpythonで改造する(Minecraft moding)方法を書いたもの

            初心者が一番わかりやすかったオブジェクト指向プログラミングの説明は、子供向けのマイクラ本だった。。|toshi
          • OOPSLA99report

            1 OOPSLA99 4 ( Richard Helm OOPSLA 2 3 OGIS-RI Object Technology Center n • n • • n n • • • 1 1,600 1 Brent Hailpern Linda Northrop OOPSLA OO Slagoon ( OO2000 8/30-9/1 ) OOPSLA 4 OGIS-RI Object Technology Center n • • • • • • Brent Hailpern 3/4 20 5 OGIS-RI Object Technology Center n n n • • • n n n n OOPSLA BOF Birds Of Feather BOF Smalltalk BOF OO XP(eXtreme Programming) 6 OGIS-RI Object Technol

            • https://www.tron.org/ja/wp-content/uploads/sites/2/2016/09/TEF071-W003-160824_01.pdf

              • Object-Oriented Programming  —  The Trillion Dollar Disaster

                OOP is considered by many to be the crown jewel of computer science. The ultimate solution to code organization. The end to all our problems. The only true way to write our programs. Bestowed upon us by the one true God of programming himself…

                  Object-Oriented Programming  —  The Trillion Dollar Disaster
                • 「継承で消耗していませんか」とか「差分プログラミングはバッドプラクティス」のようにオブジェクト指向プログラミングの主要素である継承は最近評判が悪いようですが、もう使わないほうが良いのですか?

                  回答 (4件中の1件目) 個人的な意見ですが、だいたい継承されてるところから想定してないエンバグが発生するので、使う理由がないならば使わないほうがいいですね。 じゃあ対案を出せと言われるわけですが、そのことについて軽く触れている記事を気合入れて書いてますので、読んでもらえるといいんじゃないかなと思います。 https://atmarkit.itmedia.co.jp/ait/articles/2201/26/news004.html 継承は、データとメソッドを深く結合させるというオブジェクト指向の原則からすると、凄く自然な発想のように思えますが、そもそもデータとメソッドを深く結合させ...

                    「継承で消耗していませんか」とか「差分プログラミングはバッドプラクティス」のようにオブジェクト指向プログラミングの主要素である継承は最近評判が悪いようですが、もう使わないほうが良いのですか?
                  • オブジェクト指向についてまとめてみた - Qiita

                    はじめに オブジェクト指向という概念が自分も含め難しいく奥が深いので、自分なりに要約してみました。 はじめてこの概念を聞いた方に簡単にまとめたので参考にしていただけたらなと思います。 前提知識 オブジェクトとは JavaScriptにおけるオブジェクトとは、データや処理を一つにまとめてあるもの。 JavaScriptのデータ JavaScriptのオブジェクトの中でいうデータとは変数のことであり、この変数の中にプロパティというハッシュ形式(キーとバリューの組み合わせ)で格納されている。

                      オブジェクト指向についてまとめてみた - Qiita
                    • 手続き型プログラミングで発生した問題とオブジェクト指向への入門 - RAKUS Developers Blog | ラクス エンジニアブログ

                      こんにちは!新卒1年目のos188です。 私が担当する商材は、リリースから10年以上が経過し、膨大な量のソースコードが存在します。 大部分はオブジェクト指向プログラミングで書かれていますが、 コードを読んで勉強しているとき、古い部分で手続き型プログラミングによって書かれているところを見つけました。 新しい部分と比較すると「読みづらいな、処理を追いかけにくいな」と感じることが多く、 大規模なソースコードだとこんなにも差が出るのかと感心しました。 今回は、手続き型プログラミングを大きなプロジェクトや複雑な処理に適用した際のやりづらさと、オブジェクト指向プログラミングによる解決策について説明します。 手続き型のやりづらさ 1. データの変更が処理に影響を与えやすい カプセル化する 2. コードの重複が発生しやすい 継承とポリモーフィズムを用いる 3. データと処理が分離される クラスで管理する

                        手続き型プログラミングで発生した問題とオブジェクト指向への入門 - RAKUS Developers Blog | ラクス エンジニアブログ
                      • 抽象化って何? (What is abstraction?)

                        2019年3月30日 PHPerKaigi 2019

                          抽象化って何? (What is abstraction?)
                        • オブジェクト指向プログラミングの概要 - Qiita

                          はじめに この記事の目的は、オブジェクト指向プログラミングの概念をつかむこと。 オブジェクト指向は独立した概念ではなく、それまでのものを拡張して作られている。 そのためにまず、オブジェクト指向に至るまでのプログラミング言語の遷移を追う。 そして、オブジェクト指向を構成する3大要素を解説する。 プログラミング言語の歴史 1. 始まりは機械語 コンピュータは0と1しか理解できないため、 2進数や8、16進数の機械語で書いていた。

                            オブジェクト指向プログラミングの概要 - Qiita
                          • アラン・ケイの考えたオブジェクト指向を現存するオブジェクト指向言語で実現することは出来ないのでしょうか?

                            回答 (2件中の1件目) Smalltalk - Wikipedia > Smalltalk(スモールトーク)は、Simula のオブジェクト(およびクラス)、LISPの徹底した動的性、LOGO のタートル操作や描画機能に、アラン・ケイの「メッセージング」というアイデアを組み合わせて作られたクラスベースで手続き型の純粋オブジェクト指向プログラミング言語、および、それによって記述構築された統合化プログラミング環境の呼称。 ただ「メッセージング」は現代の観点では、依存グラフ(有向グラフ)の宣言型プログラミングへのパラダイムシフトを意味しており、関数型とか、時間発展するモデルでは関数型リア...

                              アラン・ケイの考えたオブジェクト指向を現存するオブジェクト指向言語で実現することは出来ないのでしょうか?
                            • 導入から 10 年、PHP の trait は滅びるべきなのか ーーその適切な使いどころと弱点、将来について

                              trait は当初 2008 年に PHP の言語開発者コミュニティへ提案され、長い議論期間を経て 2012 年リリースの PHP 5.4 で導入された機能です。 それから 10 年がたち、trait は「ちょっと試しに使ってみよう」というものから、各開発現場において使われる中で少しずつその立場を変えてきました。 さて、実際どのように変わったのでしょうか? 先日、今年に出る PHP 8.2 へ向けて言語機能追加の RFC を提出しました。PHP の trait で定数を定義できるようにするというものです。 静かな議論期間を経ての RFC の投票開始後、PHP の開発者向けメーリングリストから最初に得られたのは驚くべきリアクションで、要約すると次のようになります。 「trait は言語にとってまったく不要なものであり、使われるべきでないものを改善すべきではない」 続々と RFC に No の

                                導入から 10 年、PHP の trait は滅びるべきなのか ーーその適切な使いどころと弱点、将来について
                              • 【DDD】ドメイン駆動開発のメリットと始め方 codezineを読んでみる - See the Elephant

                                【DDD】ドメイン駆動開発のメリットと始め方 codezineを読んでみる codezine.jp 2ページまでよんだ。DDDってなんのために使うんだっけー?という話 DDDにおける2つの設計 戦略的設計と戦術的設計 whatとhowみたいな感じだな 戦略的: 何を設計し実装するのか 戦術的: どのように設計し実装するのか 「戦略的設計」を実施せず、エンジニアが取り組みやすい「戦術的設計」にだけ注力すると、「軽量DDD」と呼ばれる事業価値を発揮できない貧弱なDDDになってしまう 気をつけよ。ちゃんと要件を確認してモデリングしてからやりましょってことね DDDの概略 DDDは「高品質」のソフトウェアを設計する手法です。ここでの高品質はバグのないという意味ではなく、ビジネス的にも成功していることを指します 顧客と開発者が共通言語(ユビキタス言語)で会話して、一体感あるチームとして、事業価値の高

                                  【DDD】ドメイン駆動開発のメリットと始め方 codezineを読んでみる - See the Elephant
                                • なぜ抽象クラス(Abstract)を実装するのか - Qiita

                                  抽象クラスを実装するメリットがいまいちよくわからなかったので、抽象クラスとは何か、どんな意図で(どんなメリットがあって)抽象クラスを実装するのかをまとめました。 本記事の内容 抽象クラスとは 抽象クラスを実装すると何が嬉しいのか Template Methodパターン(抽象クラスが用いられるデザインパターン) Template Methodパターンの実装例 抽象クラス(AbstractClass)とは 抽象クラスとは、抽象メソッドを1つ以上持つクラスです。 抽象クラスは、自身だけでは意味をもたず、サブクラスに継承されることで初めて機能します。 上記のように、abstractの後に、戻り値の型、メソッド名、引数の型、引数の数のみを定義し、実装を持たないのが抽象メソッドです。具体的な実装は、この抽象クラスを継承するサブクラスで実装されます。 抽象クラスの特徴 抽象クラスを継承したサブクラスは、

                                    なぜ抽象クラス(Abstract)を実装するのか - Qiita
                                  • Object-oriented Programming in Python

                                    You must know the power of Object-oriented programming if you have ever worked with object-oriented languages like Java, C#, and much more. Python also supports object-oriented programming, and we can define a class in Python. Let’s explore more about how to achieve this in Python. In the post Getting Started with Python, I have covered the essentials required before becoming a data scientist. In

                                      Object-oriented Programming in Python
                                    • 西暦2023年、オブジェクト指向に興味を持った入門者にお勧めする日本語書籍を考える

                                      先日某所で「最近プログラミングを始めた入門者(だったかな?)に勧められるオブジェクト指向の本を教えてほしい」みたいな質問をいただいたのですが(うろ覚えなのでちょっと違っているかも)、その場で即答できず考え込んでしまいました。ですが、遅ればせながら選書してみたので、その内容をここに書いておきます。 とはいえ、改めて考えてみても、2023年に入門者向けのオブジェクト指向の本を探すのはなかなか難しいですよね…。もちろんオブジェクト指向じゃなければ簡単かと言われるとそういう訳でもないですが。とりわけオブジェクト指向に関する書籍の場合、海外のよく知られている書籍は少し前に翻訳されたものが多くて、最近はこれというのがなかなか思いつきません。また日本でも良書がばんばん出てるわけでもなさそうです。 この辺りは、オブジェクト指向に関する技術はもはや当たり前のものとなってしまっていて、今さら旬のトピックでもな

                                        西暦2023年、オブジェクト指向に興味を持った入門者にお勧めする日本語書籍を考える
                                      • オブジェクト指向プログラミング入門 for PHP programmers (1)〜前提と概念編 - Qiita

                                        この記事について PHP でプログラミングをしているけど、オブジェクト指向よく分からん、というひとが対象です。 が、オブジェクト指向の猛者の方々にも読んでいただき、間違いや改善提案があれば指摘していただきたいです。 オブジェクト指向とは何であるか、という部分は長くなるし、他にも解説している記事があるので、参考文献として載せるにとどめます。 この記事では、実際に業務でどう使うか、という観点に絞ってコードを交えながらオブジェクト指向プログラミングの仕方を解説していきます。 はじめにお読みください オブジェクト指向と20年戦ってわかったこと - Qiita 2016年の記事ですが、オブジェクト指向の現状を端的に分析しており、オブジェクト指向プログラミングを学びはじめたひとにも、これから学ぶひとにも、ぜひ読んでいただきたいです。 読んでも意味が分からなければ、オブジェクト指向に強い先輩や知人に尋ね

                                          オブジェクト指向プログラミング入門 for PHP programmers (1)〜前提と概念編 - Qiita
                                        • [電卓喫茶] 翻訳:構造化プログラミングを最初に提唱した文書

                                          翻訳:構造化プログラミングを最初に提唱した文書 はじめに ここでは、 構造化プログラミング と 構造化定理 の違いなどを説明した後に世界で最初に「構造化プログラミング(Structured programming)」という言葉を用いた文章 "7.4 STRUCTURED PROGRAMMING"(1969年) の翻訳を掲載します。 NATOソフトウェア工学会議によると、この文章は論文(Paper)ではなくて、研究成果報告書(Working paper)ということになっています。研究成果報告書は、研究の概要や成果を書いたものです。 "7.4 STRUCTURED PROGRAMMING" を書いたダイクストラ博士は、1972年に他の科学者と共同で "Structured programming" という本を出版します。これが構造化プログラミングのバイブルになっています。 目次 構造化プログラ

                                          • Lispって何?[Lisp入門の入門] - Qiita

                                            Lispとは Lispと聞いて、「は?それ何?」と思ったそこのあなた!是非この記事を読んでみてください! Lispは、人工知能プログラムやWebアプリ開発に使われてきています。 オライリー社の動物本と呼ばれる本の中でも、Lispは非常に印象的ですよね。 目が5つある象みたいなキャラクターでおなじみ。宇宙から来た動物みたいで、一度見たら忘れないはず。 出典: Land of Lisp 独特なプログラミング言語なので、一度やってみる価値があります。 この記事で入門の入門の文法を学べます。読みながら一緒に書いていきましょう! はじめに Common Lisp入門・基本などの記事がありますが、ここでは入門の入門です。 インストールから始まり、基本的な文法を一緒に書きながら学んでいきましょう。 これまでC,Java,Ruby,JavaScriptなどを書いたことがありますが、Lispはホントに特殊で

                                              Lispって何?[Lisp入門の入門] - Qiita
                                            • ICONIX を使ったオブジェクトモデリング

                                              OOC = Object-Oriented Conference でお世話になった hiro さん(@hirodragon112)の、#astah セミナーシリーズに参加してきました。 hiroさん(イメージ) ICONIX プロセス 最近アジャイルばかりの話題を書いていて、ソフトウェアデザインの話題は久しぶりです。当日のスライドはこちら。 hiro さんはゆっくり「オブジェクト指向」という言葉の意味や捉え方かたはじめ、 「外部知識が捕捉される」モデルの重要性 を前半で、後半でユースケース分析、ロバストネス分析、を通じてドメインモデルが洗練されていく様子を解説していただきました。(Akaponさんのマインドマップによるレポート) 【メモ】ICONIXプロセスから学ぶオブジェクト指向モデリング ドメインモデルの構築(ドメインモデルが、ユースケースモデリング、ロバストネス分析を通して、どんどん

                                                ICONIX を使ったオブジェクトモデリング
                                              • オブジェクト指向 導入 / OOP1

                                                勉強会での登壇用資料です。 オブジェクト指向についての解説の導入です。 オブジェクト指向とは何であるのかについて定義していきます。 https://nrslib.com

                                                  オブジェクト指向 導入 / OOP1
                                                • 実践オブジェクト指向設計

                                                  2023年度リクルート エンジニアコース新人研修の講義資料です

                                                    実践オブジェクト指向設計
                                                  • オブジェクト指向って何 難しく感じる理由、簡単解説 | NIKKEIリスキリング

                                                    オブジェクト指向って何 難しく感じる理由、簡単解説『オブジェクト指向でなぜつくるのか 第3版』より2021 / 6 / 24 「オブジェクト指向」という言葉を知っていますか。プログラミングをする人なら、一度は目にしたり学んだりしたことがあるかもしれません。なかには、「大事そうだけど、難しそうだな」と感じている人も多いでしょう。 オブジェクト指向の考え方自体はそれほど難解ではありませんが、難しそうと思ってしまう理由もしっかりあります。その理由を知ることで、オブジェクト指向の本質により簡単に迫れることでしょう。ここでは、平澤章『オブジェクト指向でなぜつくるのか 第3版』(日経BP)から、オブジェクト指向が難しそうに思われてしまう理由を担当編集者がご紹介します。 ◇   ◇   ◇ 習い事を学ぶとき、乗り越えるのが難しそうなハードルに出合うことはよくあります。プログラミングにおける「オブジェクト

                                                      オブジェクト指向って何 難しく感じる理由、簡単解説 | NIKKEIリスキリング
                                                    • オブジェクト指向が0.005%理解できる記事 - Qiita

                                                      とあるWeb制作会社にて 上司くん「なあ、やめ太郎くん。Aくんが作ったこのページにハンバーガーメニュー付けてぇや」 ワイ「はい!よろこんで!(Aくんにやらせろや、ダボが!)」 とりあえず作ってみる ワイ「メニュー部分のタグにはmenuっちゅうIDが付いとるから・・・」 ワイ「その要素を取ってきて定数menuに格納するんや。」

                                                        オブジェクト指向が0.005%理解できる記事 - Qiita
                                                      • Object-Oriented Conference参加メモ - Qiita

                                                        Object-Oriented Conference概要 ※イベント及びセッションの概要は公式HPから引用しました。 2020.02.16 SUN 10:00 - 17:00 お茶の水女子大学 #ooc_2020 Object-Oriented Conference はオブジェクト指向をテーマに、あれこれ共有したり、セッションを聴講することで、みなさんの知見を深めるためのイベントです。 オブジェクト指向といっても、分析設計から、現場で活かすためのプラクティスなど様々なテーマがあります。セッションやラウンドテーブルなどを通じて、参加者の皆様が新たな発見を持ち帰っていただけるようなイベントを目指しています。 オブジェクト指向についてまったく知らない方やオブジェクト指向を完全に理解した方、そして普段オブジェクト指向以外のパラダイムを利用している方もお気軽にご参加ください! 開会の挨拶 オブジェク

                                                          Object-Oriented Conference参加メモ - Qiita
                                                        • 戻り値(返り値)とはどういう概念か掘り下げて考えた - Qiita

                                                          自己紹介 はじめまして、はると申します。完全異業種からのエンジニア転職を目指して、スクールに通いながら学習をしています。 概要 プログラミングにおける「戻り値」について、Rubyの例を用いて説明します。 注意 私は前職が完全異業種であり、英語も苦手で、スクールに入って初めてプログラミングに触れました。 そんな自分が理解しづらかった部分を、同じように初めてプログラミングの概念に触れた人に向けてまとめました。 自分の復習も兼ねて、超超噛み砕いて書いているため、周りくどい書き方になっている箇所もあるかと思います。 また、初学者のため、間違っている箇所もあるかもしれませんのでその際は教えて頂けると嬉しいです🙇 戻り値とは 戻り値とは、言語に関わらずプログラミングに共通する概念です。 この記事全体を通して説明していきます。 噛み砕いて考える 私が初めて戻り値に出会ったときは、「 あらかじめ定義して

                                                            戻り値(返り値)とはどういう概念か掘り下げて考えた - Qiita
                                                          • オブジェクト指向コラム | オブジェクトの広場

                                                            オブジェクトの広場はその名の通りオブジェクト指向についての情報発信から始まりました。本シリーズでは、オブジェクトの広場発行当初の懐かしいものから新しく書き起こしたものまで、オブジェクト指向に関するコラムを集めました。楽しみながら読んでいただけると幸いです。

                                                              オブジェクト指向コラム | オブジェクトの広場
                                                            • AにBを持たせる class A { private B b; // 実装} AをラップしてBと共通のイン..

                                                              AにBを持たせる class A { private B b; // 実装 } AをラップしてBと共通のインタフェースを実装する interface IB { // Bのメソッド } class AWrapper implements IB { private A a; // 実装 } class B implements IB { // 実装 }

                                                                AにBを持たせる class A { private B b; // 実装} AをラップしてBと共通のイン..
                                                              • Object-Oriented Conferenceに参加した - hitode909の日記

                                                                普段参加する勉強会では、幅広いテーマのなかに、たまにドメイン駆動設計について話してる人がいたら見に行ったりしていた。 Object-Oriented Conferenceはオブジェクト指向の勉強会で、5並行のセッションが丸一日あるという気前の良い勉強会だった。 普段聞かないような話題を多く聞くことができたのがよかった。機能要求由来の関心事と非機能要求由来の関心事は分けて扱うべし、という話で、全社は会計ドメインとかそういうものになるけど、後者はフレームワークを使うと言った形として現れる、ということ(だと理解した)で、そういうふうに区別したことは言われてみるとなかったのでなるほどとなったり、聞いたこと無いワードがどんどん出てきたので、出たワードをメモしたりしていた。読んでないけどとりあえず控えておこう、というときに「読んでない」というタグをつければあとで読むこともできるし読まなくてもいい、とい

                                                                  Object-Oriented Conferenceに参加した - hitode909の日記
                                                                • 「オブジェクト指向設計実践ガイド」を読んだ - Qiita

                                                                  はじめに オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 を読みました。 この本は、オブジェクト指向の設計について、Rubyのプログラムをサンプルに、分かりやすく解説されています。 設計について学びたいRubyエンジニアにおすすめできます。 これを学ぶことで、変更しやすい、メンテナンス性の高いコードを書くための考え方が身につけられます。 メンテナンス性の高いコードを書きたいと思っているRubyエンジニアは、個人的には、リーダブルコードの次に読むべき本だなと感じました。 (リーダブルなコードについては前提として知っておいたほうがいいです) どうしてこの本を読んだのか クラスの設計、インターフェースの設計に苦手意識を持っており、元々社内でも多くの人がおすすめしている本だったので、読んでみようと思いました。 今まで、インターフェースを使ったオブジ

                                                                    「オブジェクト指向設計実践ガイド」を読んだ - Qiita
                                                                  • オブジェクト指向のメリット・デメリット - Qiita

                                                                    はじめに この記事は「【マイスター・ギルド】本物のAdvent Calendar 2022」10日目の記事です。 最近、IT業界のトレンドや動向把握のため、面白そうなエンジニア雑誌があれば読むようになりました! その雑誌の中で、12月24日に発売されるWEB+DB PRESS Vol.132が目に止まりました。その表紙には、「オブジェクト指向神話からの脱却」という文字が大きく掲載されています。 オブジェクト指向信者の私にとっては、脱却する必要はないだろうと思いながら、とても気になる内容で今から楽しみにしてます! 本を読む前に現時点での私のオブジェクト指向に対する考えについて整理しておきたいなと考え、本記事では個人的なオブジェクト指向のメリット・デメリットを書いていこうと思います。 オブジェクト指向歴 簡単に自身のオブジェクト指向歴を書いておきます。 オブジェクト指向の言語に触れたのはC#が

                                                                      オブジェクト指向のメリット・デメリット - Qiita
                                                                    • レポート:CRCカードでチームが協働して設計する | オブジェクトの広場

                                                                      チームメンバーみんなで協働してハイレベルの設計をすることができるテクニックがあります。CRCカードを使った設計モデリング。UMLモデリング推進協議会(UMTP)主催のセミナーで開かれたCRCカードのワークショップで学んできました。講師はオブジェクトの広場の編集員でもある藤井拓です。本記事では、セミナーで行われたワークショップの様子をお伝えしつつ、CRCカードを使った設計の概要を紹介します。 UMTPのCRCカードワークショップ 2018年2月に、UMLモデリング推進協議会(UMTP)主催の技術セミナーがありました。今回は「CRCカード ワークショップ~賢いクラスとそれらのコラボレーションをモデリングしよう」という内容で、オブジェクトの広場の編集員でもある藤井拓が講師をしました。 ワークで配られたもの:CRCカードの進め方と、ユースケース、講義スライドを印刷したもの。 CRCカードは、198

                                                                        レポート:CRCカードでチームが協働して設計する | オブジェクトの広場
                                                                      • 単一責任の原則でカレー作り - Qiita

                                                                        こんにちは、Javaおじさんのシキムです。 40才目前で、プログラム工学に興味を持ったので本や記事で読んだ難しい話を 咀嚼して簡単な言葉で語りたいと思います。 今回は、単一責任の原則(Single Responsibility Principleというものについてです。 ざっくりと、、、 1つのクラスとかメソッドにいろいろなことをさせるといろいろ大変だから、 1つのクラスとかメソッドにひとつのことをさせると楽ですということ。 詳しくは偉い人の話を読んでください。 ここでは、この原則をカレー作成装置に見立てて解説したいと思います。 では、さっそくカレー作成装置を作りましょう。 カレー作成装置 入れるもの: 人参、ジャガイモ、玉ねぎ、肉 作業: ①人参の皮を剥く ②ジャガイモの皮を剥く ③玉ねぎの皮を剥く ④人参を切る ⑤ジャガイモを切る ⑦玉ねぎを切る ⑧肉を切る ⑨具材を鍋に入れて煮込む

                                                                          単一責任の原則でカレー作り - Qiita
                                                                        • 猿でもわかるオブジェクト指向とデザインパターン - Qiita

                                                                          はじめに 本記事では、初学者向けにオブジェクト指向について簡単に解説します。 細かい文法部分については省略していますが、イメージを掴んでもらえたら嬉しいです。 また、本記事ではGoFのデザインパターンについても簡単に紹介します。 今回は、Singleton、Factory、Strategy、Observer、Adaptorパターンについて取り上げます。 初学者の方は、今回紹介するデザインパターンをなんとなくでも理解できたらバッチリです。 前提知識 デザインパターンを学ぶにあたって、オブジェクト指向についての理解は必須になります。 ここでは前提知識として、クラスとインスタンスの関係、オブジェクト指向の3大要素について簡単に解説をしておきます。 不要な方はそもそもデザインパターンとは?から読み進めてください。 クラス と インスタンス クラス クラスのイメージは"設計図"です。 例として、家を

                                                                            猿でもわかるオブジェクト指向とデザインパターン - Qiita
                                                                          • 値オブジェクトの表明を使って検証を実装する方法 - Qiita

                                                                            本題に入る前に、値オブジェクトの表明を使って検証を実装する方法に、必要な検証(バリデーション)と表明(アサーション)の違いについて以下にまとめる。 検証(バリデーション) 以下のブログ記事によると、3種類のバリデーションがあるようです バリデーションには3種類のバリデーションがある 〜 セキュアなアプリケーションの構造 〜 が、日常的にはこのあたりは区別せずに「入力値の確認」と認識していると思います。厳密に表現すると「入力値が要件を満たしているか妥当性を確認すること」になります。Error, Defect, Fault, Failureの定義と解釈のエラー(Error)のカテゴリ。 以下は、バリデーションロジックの一例。値が満たすべき要件を確認するロジックを記述しますが、場合によっては複数の検証を組み合わせて一つの検証を行うことがあります。 object Validators { type

                                                                              値オブジェクトの表明を使って検証を実装する方法 - Qiita
                                                                            • 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 sho_kisaragiさんの感想 - 読書メーター

                                                                              登録日2010/01/10(5232日経過)記録初日2010/01/10(5232日経過)読んだ本3104冊(1日平均0.59冊)読んだページ365178ページ(1日平均69ページ)感想・レビュー1184件(投稿率38.1%)本棚3棚性別男血液型O型職業IT関係現住所東京都外部サイトTwitterURL/ブログhttp://oshiire.to/

                                                                                現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 sho_kisaragiさんの感想 - 読書メーター
                                                                              • リスコフの置換原則(LSP)と契約による設計(DbC)の関連について - Qiita

                                                                                はじめに 自分が書いてないコードで色々辛い思いをしてきたので、どういう場合に継承が破綻するのか調べてみました。 この記事でわかるであろうこと * 継承を(破綻しないように)ちゃんと用いるにはリスコフの置換原則と契約による設計の理解が必要なこと リスコフの置換原則とは リスコフの置換原則とは、一言でいうと「派生型(サブクラス)はその基底型(スーパークラス)と置換可能でなければならない」という原則です。 * リスコフの置換原則を守らないと必然的に開放/閉鎖原則に違反するため、リスコフの置換原則を守ることは重要です。 下記のコードはSquare(正方形)がRectangle(長方形)を継承しています。つまり、派生型がSquare、基底型がRectangleです。 正方形は長方形を特化したもの(見た感じではis-a関係が成立している)と言えるので継承を使うことは一見正しそうに見えます。 「派生型は

                                                                                  リスコフの置換原則(LSP)と契約による設計(DbC)の関連について - Qiita
                                                                                • 抽象度で考える「継承」の問題点と その回避策/オブジェクト指向【ずんだもん解説】

                                                                                  オブジェクト指向における継承の問題点を、合成とインターフェースで回避するのは なぜかという概念的な話を、抽象度という考え方を使って解説しました 動画内では触れていませんが結果的に、データ指向とプロトコル指向の考え方が発展しました 私見なので異論歓迎、感想をいただけるとありがたいです 一週間くらい頭を捻っていたので投稿が遅くなり申し訳ないです ○関連動画 ・オブジェクト指向の本質(プレイリスト)  https://www.youtube.com/playlist?list=PLf4I2oE5Pn_NE7o7KpTO8AqOZ1tWMVs0H ○おすすめ ■環境構築 ・Windows11 + WSL + Ubuntu + VSCode の環境構築:https://youtu.be/odDJ3QvlF2g ・Windows11 + Docker + VSCode で開発環境を構築:htt

                                                                                    抽象度で考える「継承」の問題点と その回避策/オブジェクト指向【ずんだもん解説】