並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 337件

新着順 人気順

oopの検索結果201 - 240 件 / 337件

  • Lispとオブジェクトシステム

    Lispとオブジェクト、オブジェクト指向システムを概観します。

      Lispとオブジェクトシステム
    • 「THE」が商標登録される

      英語で使われる「THE」は、すでに会話の中で言及されているもの、あるいは読み手・聞き手にとって既知のものを示す名詞の前につく定冠詞で、英語の中で最も使用頻度が高い単語です。そんな「THE」の商標登録を、アメリカ特許商標庁が2022年6月21日に認めました。この商標はTシャツ・野球帽・その他帽子に適用されます。 The Ohio State University Officially Trademarks the Word ‘THE’ - WSJ https://www.wsj.com/articles/the-ohio-state-university-officially-trademarks-the-word-the-11655926237 Ohio State secures the trademark for the word "THE" — Quartz https://qz.c

        「THE」が商標登録される
      • デザインにオブジェクト指向を適用する / Apply Object-Oriented to your design

        ゼロから理解するDependency Injection / Understanding Dependency Injection from the Ground Up

          デザインにオブジェクト指向を適用する / Apply Object-Oriented to your design
        • PHP オブジェクト指向 【再入門】 - RAKUS Developers Blog | ラクス エンジニアブログ

          はじめに こんにちは、弊社サービス「配配メール」の開発に従事している id:soachr(そーく)といいます。 以前は id:north_mky というユーザで投稿していましたが結婚を期になんとなくユーザを変えました。 ID の由来はとくにありません。 今回は、駆け出しエンジニアさん向けに「オブジェクト指向」を PHP でプログラミングしようと思います。 対象読者 オブジェクト指向の実務イメージがわかない・しっくりきていない駆け出しエンジニアさん if/for/配列などは理解して実装できる カプセル化?継承?ポリモーフィズム?なにがいいの?と思っている 記事を読んでわかること オブジェクト指向で書かれたプログラムの良さがイメージできる オブジェクト指向の入門書を改めて読み返して理解を深められるようになる オブジェクト指向、正直よくわからんってなっていませんか? オブジェクト指向はプログラミ

            PHP オブジェクト指向 【再入門】 - RAKUS Developers Blog | ラクス エンジニアブログ
          • クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2

            オブジェクト指向カンファレンス2024 クソコード動画『カプセル化 Mk-II』 https://twitter.com/MinoDriven/status/1771763728234537310 下記セッションで用いたスライドです https://fortee.jp/oocon-2024/proposal/9e935d37-5480-4488-bc6d-3b9ee492106f

              クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
            • オブジェクト指向のプラクティスをフロントエンドで活用する

              AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024

                オブジェクト指向のプラクティスをフロントエンドで活用する
              • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

                こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

                  Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
                • Amazon Builder's Libraryを読んでみた - たけぞう瀕死ブログ

                  昨年のre:Invent 2019で発表されたAmazon Builder's Libraryを一通り読んでみました。通勤電車で読んでいたのですが、途中で冬休みに突入してしまい少し時間がかかってしまいました。途中で日本語にも対応していることに気付いたのですが、折角なので全て英語で読んでみました。 aws.amazon.com Amazonにおける大規模分散システムの開発で得られたノウハウが公開されているのですが、昨今マイクロサービスの普及もあり、Amazonのような規模でなくとも分散システムに関するノウハウが重要になりつつあります。もちろんAWSのインフラや規模感に依存する部分も多々見られるものの、大規模な分散システムを運用した上で得られる知見というのは得難いものですし、一般論として参考になる部分も多く、とても有用なコンテンツだと思います。 全体を通して共通して述べられていたのは以下のよう

                    Amazon Builder's Libraryを読んでみた - たけぞう瀕死ブログ
                  • 概念投影によるオブジェクト指向設計の考え方とその方法/Conceptual projection design

                    オブジェクト指向設計の中でも特に型指向に焦点を当てた概念投影指向という考え方を紹介しています。 アプリケーション設計とはそもそも何をする事なのか?という前提を考える事により、具体的な手法をなぞるのではなくプロダクト毎に柔軟に設計ができるようになるためのガイドラインとしてご覧ください。 ※ このスライドは主催する Object-Oriented Conference 2020 の登壇用資料です。

                      概念投影によるオブジェクト指向設計の考え方とその方法/Conceptual projection design
                    • デザインパターンを Ruby で

                      複雑なオブジェクトを段階的に構築できます。 このパターンを使用すると、 同じ構築コードを使用して異なる型と表現のオブジェクトを生成することが可能です。

                      • ⚡️Ruby、オブジェクト指向、デザイン / Ruby, OOP, Design

                        Omotesando.rb #56 https://omotesandorb.connpass.com/event/192551/

                          ⚡️Ruby、オブジェクト指向、デザイン / Ruby, OOP, Design
                        • 業務システムとオブジェクト指向 - Hot Heart, Cool Mind.

                          業務システムの設計・開発を職業とする人々の間で、オブジェクト指向はいまだに一般的なものと受け止められていないように思える。しかし実際にやってみると、オブジェクト指向は業務システムにうまく馴染むし、システムの品質とメンテナンス性の改善につながる。 ==== オブジェクト指向の適用例 具体的な例で見てみよう。仕訳を作成して記帳するという、会計システムのもっとも基本的な処理を、Javaでオブジェクトを使って書いてみる: /** * 7月度の「帳簿(book)」を取得する。 */ 1: Book book = application.getBook("2006/7"); /** * 仕訳(JournalSlip)」を生成し、項目を設定する。 **/ 2: JournalSlip slip = book.createJournalSlip(); //仕訳日 3: slip.setJournalDat

                            業務システムとオブジェクト指向 - Hot Heart, Cool Mind.
                          • オブジェクト指向のはなしとGREE Tech Conferenceのおしらせ | GREE Engineering

                            みなさまこんにちは、グリー株式会社でCTOをやっておりますふじもと (@masaki_fujimoto) と申します。 今回は1週間後に控えたGREE Tech Conference 2022の宣伝も兼ねて、1年ぶりくらいにソフトウェアについてつらつらと書いてみます。というか、なにはなくとも10/25 (tue)、来週開催のGREE Tech Conference 2022にぜひぜひご参加ください。ひさびさにオフラインでも開催しますので! あとついでに、1年くらい前からデジタル庁というところのCTOも兼ねさせていただいてまして、なんかやっぱりあれこれ質問いただくことも多いので、そのあたりどうよ、みたいなところもついでに少しだけ触れてみたいと思います (なんかGREE Engineers' Blog、というところで書くにはちょっとコンテキスト違うかなとも思うのであくまでおまけ、ってことで..

                              オブジェクト指向のはなしとGREE Tech Conferenceのおしらせ | GREE Engineering
                            • Table of Contents · Game Programming Patterns

                              Table of Contents Game Programming Patterns Acknowledgements Introduction Architecture, Performance, and Games Design Patterns Revisited Command Flyweight Observer Prototype Singleton State Sequencing Patterns Double Buffer Game Loop Update Method Behavioral Patterns Bytecode Subclass Sandbox Type Object Decoupling Patterns Component Event Queue Service Locator Optimization Patterns Data Locality

                              • グローバルゲームジャムでクラス設計をやった話2020 - Qiita

                                はじめに 毎年恒例のグローバルゲームジャム。今回も参加してきたのでそのまとめを書きます。 2016 -> グローバルゲームジャムでクラス設計をやったらスムーズに開発が進んだ話 2017 -> グローバルゲームジャムでクラス設計をやった話2017 2019 -> グローバルゲームジャムでクラス設計をやった話2019 グローバルゲームジャムとは GGJとは全世界同時に行われるゲームジャムのことです。ようするに、世界規模のゲーム開発ハッカソンです。 プログラマ、デザイナ、プランナ、グラフィッカなどさまざまな役職の人をごちゃまぜに、3~8人程度のチームを組み、48時間でゲームを作ろうというイベントです。(前回のコピペ)(前回のコピペ)(前回のコピペ) 今回も「ヒューマンアカデミー秋葉原会場」に参加しました。 ゲームの概要 今年のテーマ 今年のテーマは「REPAIR」でした。シンプルにわかりやすいテ

                                  グローバルゲームジャムでクラス設計をやった話2020 - Qiita
                                • Introduction - Rust Design Patterns

                                  Introduction Participation If you are interested in contributing to this book, check out the contribution guidelines. News 2024-03-17: You can now download the book in PDF format from this link. Design patterns In software development, we often come across problems that share similarities regardless of the environment they appear in. Although the implementation details are crucial to solve the tas

                                  • 日本のデジタル競争力、過去最低29位 中韓台にも後れ - 日本経済新聞

                                    スイスのビジネススクールIMDは28日、2022年の世界デジタル競争力ランキングを発表した。63の国・地域のうち、日本の順位は前年から1つ下がり29位だった。17年の調査開始以来、過去最低を更新した。人材不足やビジネスのスピード感の欠如など課題が多く、上位に入る韓国、台湾など東アジアの国・地域からも取り残されている。世界デジタル競争力ランキングは毎年、各国の統計データや経営者・管理職への聞き取

                                      日本のデジタル競争力、過去最低29位 中韓台にも後れ - 日本経済新聞
                                    • 【DDD練習】「JR 新幹線 料金ルールを実装してみよう」にチャレンジ(その1) - shimapapa.io

                                      前置き 『現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法』の著者の増田さんが、 ワークショップで使用する「JR 新幹線 料金ルールを実装してみよう」というサンプルコードをGitHubで公開されておりました。 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 作者:増田 亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版 明日 12/14 の「現場でDDD ! 2nd」のワークショップで使う、サンプルコードです。 新幹線の運賃と特急料金の計算ルールを、値オブジェクトで表現してみよう、という内容。 イベントに参加されない方も、ぜひ、チャレンジしてみてください。https://t.co/LlLKA5h7Bt #genbadeDDD— 増田 亨. (@masuda220) 2019年12月13日

                                        【DDD練習】「JR 新幹線 料金ルールを実装してみよう」にチャレンジ(その1) - shimapapa.io
                                      • DDDとかドメインオブジェクトとかよくわからないけど、実際にコードに適用するとこうかな? - 技ビス : 技術、ビジネス、スタートアップ

                                        最近DDDや値オブジェクトやドメインオブジェクトの定義が一部界隈で話題です。kumagi sanとかとじゅんさんの間で熱い議論が何日にも渡って繰り広げられています。 kumagi.hatenablog.com blog.j5ik2o.me kumagi.hatenablog.com kumagiさん眠たいんですが…。続きは明日でもいいですか。 — かとじゅん (@j5ik2o) 2022年5月19日 大変ですね! ぼくも違うチャネルでkumagi sanに色々理解をぶつけてみたものの全然違うようで色々と教えてもらったりしました。 しかしながら、これ実際どこでどう使うのかなと。大先生がこんな事を言ってました。 言葉遊びしてるんじゃねえんだぞ、動くものを作れ — Yoshi Yamaguchi (@ymotongpoo) 2022年5月19日 というわけで、最近書いたコードを題材にちょっとリフ

                                          DDDとかドメインオブジェクトとかよくわからないけど、実際にコードに適用するとこうかな? - 技ビス : 技術、ビジネス、スタートアップ
                                        • 関数型言語で DDD - Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# - Shin x Blog

                                          オブジェクト指向言語でドメインモデルを実装することが当然のように行われていますが、Go で開発したり、Haskell で遊んだりしている中で、他のパラダイムの言語で実装するのはどうなんだろうかという想いがありました。 そんな時に出会ったのが、Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# という本です。 概要 構成 ドメインを理解し、モデリングする 端的なフレーズ Database-Drive-Design や Class-Driven-Design との違い 型、型、型 関数型言語による実用例 恐怖のモナド さいごに 参考 概要 本書は、とある会社の受注とその関連業務をドメインとし、モデリングして、実装していくという内容です。紙ベースで行われている業務

                                            関数型言語で DDD - Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# - Shin x Blog
                                          • Patterns for Reactivity with Modern Vanilla JavaScript

                                            Patterns for Reactivity with Modern Vanilla JavaScript August 21, 2023 “Reactivity” is how systems react to changes in data. There are many types of reactivity, but for this article, reactivity is when data changes, you do things. Reactivity Patterns are Core to Web Development We handle a lot with JavaScript in websites and web apps since the browser is an entirely asynchronous environment. We mu

                                              Patterns for Reactivity with Modern Vanilla JavaScript
                                            • 昔から使われている技術用語をさかのぼる: Value Object編

                                              考えてみればソフトウェアパターンが賑やかだった時代からはすでに20年以上たっているわけで、20年も変わるといろいろ状況も変わりますし、そんな昔のことなんて知ってるわけない、というか知ったことではない、という人も少なくないと思います。 とはいえ今でも使われている用語について、その当時の使われ方を知ると、考察が深まることもあるかもしれません。 そんな感じでOOPとかパターン方面の用語とかを遡りたい! というときには、WikipediaとかではなくてC2 Wikiを見るのがおすすめです。 C2 Wikiとは Wiki(WikiWikiWeb)の元祖みたいなやつですね。iki-ikiで紹介されています。 例えばValue Objectについて掘りたい、と思った時にはValueObjectで探すと見つかります。単語と単語をつなげるときに、単語の先頭を大文字にする感じです。 とはいえ、C2 Wikiも

                                                昔から使われている技術用語をさかのぼる: Value Object編
                                              • クラスが増えても大丈夫!成長するソフトウェアを支えるリファクタリングの技術 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                                開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 基盤本部ではさまざまな勉強会を開催しています。先日も、BIGLOBE Styleでその様子をご紹介しました。 style.biglobe.co.jp 「クラスを増やすの、怖くないですか?」 オブジェクト指向プログラミング(OOP)を学んでいた時に聞かれたことです。業務ではJavaやドメイン駆動設計を活用しているので、クラスベースのOOPが題材になることが多いのです。OOPに慣れていない人からすると、クラスの数が増えることで全体を把握しづらくなったり、適切なクラスを見つけるのが大変になりそう、と感じるそうです。 「大丈夫!クラスを増やしたほうが楽になることがあるよ!」 と伝えたくて、この記事を書かせていただきました。何が楽になるのでしょう?それは、ソースコードを読むこと、です。「クラスを増やすと、ソースコードを読むのが楽になる?

                                                  クラスが増えても大丈夫!成長するソフトウェアを支えるリファクタリングの技術 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                                • Nimで知る「オブジェクト指向をする/しない」ということ

                                                  Nim は、「もしアラン・ケイがオブジェクト指向と言わなかったら」という歴史の if を感じさせてくれる言語だと思った話をします。 私自身は Nim 初心者です。細部の「こいつ慣れてないな」感はご容赦ください。この記事は、この言語については初心者だけれど、プログラミング言語とパラダイムを考えるうえでとても価値があると思った気付きがあったのを、図々しくも記事にしました。複数のプログラミング言語を歴史的な観点で評価するうえで、Nim を通して 70 年代以前の言語と 80 年代以後の言語、具体的には、C with classes と C++ の境界線を見つめ直すことができるんじゃないかと思います。 ズバリ言うと、Nim はアラン・ケイのオブジェクト指向が通じない言語です。 Nim の言語標準には class キーワードがありません(マクロを作れば語句の拡張は可能ですがオプションです)。が、そん

                                                    Nimで知る「オブジェクト指向をする/しない」ということ
                                                  • 2000年代のオブジェクト指向はやはり洗脳だったのか - naoya2kの日記

                                                    2000年から2010年にかけて僕はとある大きな会社でJava技術に関しての重鎮の一人だった。組み込み系なので「Javaの重鎮=Javaの処理系を作れたり速くて省メモリなプログラムを作れたりする」であり、オブジェクト指向べったりということにはならず、僕らは結局洗脳されていなかった。そもそもJavaの処理系は全てが全てオブジェクト指向で書かれているわけではなかった(でもクラスライブラリの実装はJavaの各クラスが何なのかを正しく理解するのにとても役立った)。 C++と比べて比較的遅いJavaで、当時の組込みプロセッサで十分な速度を出そうとすると、オブジェクト指向をピュアに推進するわけにはいかなかったというのも理由のひとつだった。 daiyamamoto.hatenablog.com そんなわけで僕がいた世界ではJavaエンジニアはスーパースターではなかった。世界のJavaの潮流からは微妙にズ

                                                      2000年代のオブジェクト指向はやはり洗脳だったのか - naoya2kの日記
                                                    • ICONIXプロセスから学ぶオブジェクト指向モデリング/ICONIX for Object-Oriented

                                                      2020.08.21 チェンジビジョンセミナー 株式会社ミライトデザイン CEO 林 宏勝 - なぜオブジェクト指向にモデリングは必要なのか? - ICONIXプロセスを使用したドメインモデリング https://astah.change-vision.com/ja/events/seminar.html

                                                        ICONIXプロセスから学ぶオブジェクト指向モデリング/ICONIX for Object-Oriented
                                                      • 『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル

                                                        先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰するようにも見えることから、世間的には色々な評価があるらしい。 イミュータビリティが良い、みたいな話は重々承知なので適宜飛ばしながら読んだ。また、lodashまわりの話は単なるライブラリ紹介であり、特筆することがないので飛ばした。 こういう感じで言及されている zenn.dev slides.com 自分なりに読んで思ったことをまとめる。面白い本だったし、自分の思想にも近しいものがある。僕は普段ScalaやTSを書いているので、その観点からの感想が多いです。OOPの歴史に詳しいわけではないので、不足があったらすみません。 OOP以前の世界との差異 イミュー

                                                          『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル
                                                        • Rubyでのデザインパターンの使用例を説明する!! - エニグモ開発者ブログ

                                                          こんにちは、サーバーサイドエンジニアの平井です。 こちらは、Enigmo Advent Calendar 2019 、24日目の記事です。 昨年の1月にエニグモにインターンとして入社してから一年が経とうとしています。早いもので、新卒の肩書きもそろそろ無くなってしまいますね。 今回は、Rubyによるデザインパターンを読んで、デザインパターンを勉強したので、そのアウトプットをさせていただきます。 タイトルの通り、デザインパターンについて実際の使用例を探してみました。そのパターンと使用例は以下になります。 Strategyパターン Warden Observerパターン rails-observers Iteratorパターン actionpack/lib/action_dispatch/http/mime_type.rb Builderパターン mastodon まずは、Strategyパター

                                                            Rubyでのデザインパターンの使用例を説明する!! - エニグモ開発者ブログ
                                                          • https://twitter.com/pospome/status/1543119869100826624

                                                              https://twitter.com/pospome/status/1543119869100826624
                                                            • PlantUML使い方メモ - Qiita

                                                              長くなるので、図の書き方はクラス図とシーケンス図だけで。 その他の図については 続・PlantUML使い方メモ #PlantUML - Qiita を参照。 PlantUML とは テキストで UML 図を記述できる DSL の一種(たぶん) 本体は Java で書かれていて、単一の jar ファイルを落としてきてコマンドラインから実行できる plantuml/plantuml: Generate UML diagram from textual description ただし、実際に使うときは Visual Studio Code とかのプラグインを入れて実行することが多いと思う ライセンスは GPL v3 plantuml/license.txt at master · plantuml/plantuml 環境構築 OS は Windows10。 Java > java --versi

                                                                PlantUML使い方メモ - Qiita
                                                              • 「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?

                                                                Scott Wlaschin氏は著書である"Domain Modeling Made Functional" (和訳本なし)に関する講演で、関数型言語を用いてドメインモデルを定義すると、テストを書く必要がなく、たくさんのフラグをチェックする必要もないと説明しています。 彼はこの方法を「自己文書化」と「コンパイル時のユニットテスト」と呼んでいます。 この話では、彼の言う「コンパイル時のユニットテスト」が具体的にどのようなものなのか、そしてこの方法を使うことでテストがどれほど効率的になるのかを扱います。ただし、ドメイン駆動開発の定義やC#やF#の詳細な文法については説明しません。 https://zenn.dev/jtechjapan_pub/articles/d4e1dacb6f00a2 こちらのブログで練習で話したセッションなども見ることが可能です。

                                                                  「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
                                                                • [Object-Oriented Conference] 資料まとめ | Qrunch(クランチ)

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

                                                                    [Object-Oriented Conference] 資料まとめ | Qrunch(クランチ)
                                                                  • よくわかるSOLID原則1: S(単一責任の原則)|erukiti

                                                                    ソフトウェアエンジニアが知っているべきSOLID原則についての記事です。SOLID原則は、5つの原則の頭文字を並べた言葉で、S・O・L・I・Dそれぞれの原則について、5回に分けて説明します。 1) Single Responsibility Principle:単一責任の原則 2) Open/closed principle:オープン/クロースドの原則 3) Liskov substitution principle:リスコフの置換原則 4) Interface segregation principle:インターフェース分離の原則 5) Dependency inversion principle:依存性逆転の原則 今回はSingle Responsibility Principle(単一責任の原則 / SRP)についてです。 なぜSOLID原則が必要なのか?初回なので、なぜソフトウェア

                                                                      よくわかるSOLID原則1: S(単一責任の原則)|erukiti
                                                                    • Operating Lambda: イベント駆動型アーキテクチャの設計原則 – Part 2 | Amazon Web Services

                                                                      これらのサービスは Lambda と統合するように設計されており、Infrastructure as code (IAC) を使用してサービス内のリソースを作成、および破棄できます。アプリケーションをインストールしたりサーバーを設定したりすることなく、AWS SDK 経由でこれらのサービスを利用できます。Lambda 関数のコードを使用して、これらのサービスを使用することに習熟することは、適切に設計されたサーバーレスアプリケーションを作成する上で重要なステップです。 抽象化のレベルを理解する Lambda サービスは、Lambda 関数を実行する基盤となるオペレーティングシステム、ハイパーバイザー、ハードウェアへのアクセスを制限します。このサービスはインフラストラクチャを継続的に改善し変更することで、機能の追加、コストの削減、サービスのパフォーマンスの向上を実現します。あなたのコードはLa

                                                                        Operating Lambda: イベント駆動型アーキテクチャの設計原則 – Part 2 | Amazon Web Services
                                                                      • ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード

                                                                        株式会社ビープラウドが主催するIT勉強会「BPStudy」。#151となる今回は、設計の代表格であるオブジェクト指向、モデリング、そして設計にフォーカスをあて、LT大会を開催しました。「ドメイン駆動設計に取り組んだ15年でわかったこと 」に登壇したのは、ドメイン駆動設計に15年取り組み続けている増田亨氏。ビジネスルールと値オブジェクトと型という3つのキーワードを軸に、ドメイン駆動設計をソフトウェア開発に落とし込む方法論について語りました。講演資料はこちら ビジネス活動に起因する複雑さに立ち向かうドメイン駆動設計 増田亨氏(以下、増田):よろしくお願いします。私は2006年ぐらいからドメイン駆動設計に実際に取り組んで、15年ぐらいやっているんですけど、今日はそれを私なりにわかったことというか、けっこう最近振り切ってこうやってますよという内容を、みなさんの参考になればと思って少しお話しします。

                                                                          ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード
                                                                        • Polly Want A Message (DeconstructConf)

                                                                          Object-oriented languages have opinions about how best to arrange code. These opinions lead OO to naturally offer certain _affordances_. Just as round doorknobs expect to be grasped and rotated, OO expects messages, polymorphism, loose-coupling and factories. The key to creating intuitive and maintainable OO applications is to understand and embrace these built-in affordances.

                                                                            Polly Want A Message (DeconstructConf)
                                                                          • リファクタリングとデザインパターン

                                                                            ハロー、 ワールド! Refactoring.Guru を使えば、 リファクタリング、 デザインパターン、 SOLID 原則、 その他の賢明なプログラミング技法について、 知っておくべきことを簡単に見つけ出せます。 このサイトでは、 大局的観点、 お互いの関連、 なぜ重要かなどを説明します。 筆者は勿論これらの概念を発明したわけではありません。 ほとんどは、 今や過去となってしまった 20 世紀に発明されています。 しかし、 多くのプログラマーにとって、 リファクタリングとパターンと一般的プログラミング原則のつながりは、 謎の部分が多いと思います。 私はこの問題を解決したいと思います。 追伸 リファクタリングとデザインパターンに関する大量の情報を、 このサイトで見つけることができます。 当プロジェクトは常時改善していますが、 進捗状況を知るには、 メーリングリストに登録するか、 Faceb

                                                                            • ゲームプログラム オリジナルデザインパターン紹介 Try-Can-Do  - Qiita

                                                                              はじめに RPGでHPクラスにHPを減らすメソッドを作るとき。 this.hp.Decrease(10)と書いたコードが、HPが0以下だとそもそも実行されてなくて困ったってことありませんか? アニメだけは動いてほしかったのにッ! Try-Can-Doパターンを導入すれば、この問題を解決できます。 今回は僕がゲームプログラムでメソッドの命名によく使っている Try-Can-Doパターン を紹介します。 Unity環境で開発しているので C# で書きますが、他の言語でもご利用できます。 自己紹介 こんにちは、ウェレイと申します。\うぇ~い/ Overdugeon や Craftopia のプログラムを少し書いた人間です。 よろしくお願いします。 基本的な使い方、その前に。 CharaクラスとHPクラスの設計を書いておきますね。 public class Character { private

                                                                                ゲームプログラム オリジナルデザインパターン紹介 Try-Can-Do  - Qiita
                                                                              • Rubyのインスタンス変数の直接参照について - 雑草SEの備忘録

                                                                                会社で議論になり、未だに私の中で決着がついていない問題を取り上げてみます。 Rubyのインスタンス変数を直接参照することについてです。 例えば、コンストラクタでインスタンス変数を設定します。 そして、インスタンスメソッドでそのインスタンス変数を直接参照して処理をして値を返却するということをします。 良い例ではないかもしれませんが、こんな感じのイメージです。 class PriceCalculation def initialize(price, tax) @price = price @tax = tax end def tax_included_price @price * (1 + @tax) end end 前提として、@priceや@taxはこのクラス内のみで使用され、外部からは参照されないものとします。 これに対し、同僚のドイツ人がインスタンス変数を直接参照するのは良くないから、

                                                                                  Rubyのインスタンス変数の直接参照について - 雑草SEの備忘録
                                                                                • よりよい開発手法 - ソフトウェア設計を考える

                                                                                  ソフトウェア開発の問題点 従来のウォータフォール方式で、フェーズ分けと分業を重視し、手続き的なモジュール構造でソフトウェアを開発するやり方には次の問題があります。 大量のドキュメントの作成に膨大な時間と費用がかかる(工程が多く、必要な人員がふくらむ) フェーズ分けと分業のため、関係者の間の認識合わせが難しい(伝言ゲーム) ちょっとした変更でも、調査・修正・確認に膨大な時間がかかる(変更がやっかいで危険) 一方、アジャイルと呼ばれる開発のやり方は、以下の問題が起きがちです。 ソフトウェアの規模が大きくなると、どこになにが書いてあるか理解ができなくなる 増築・改築の繰り返しが、全体の構造と品質を劣化させる 全体を俯瞰したり構造を確認するための情報がなく、変更の影響がわかりにくい ちょっとした変更でも、調査・修正・確認に膨大な時間がかかる(変更がやっかいで危険) どちらのやり方でも 変更がやっか

                                                                                    よりよい開発手法 - ソフトウェア設計を考える