Inicio
Explorar
Enviar búsqueda
Cargar
Iniciar sesión
Registrarse
Publicidad
Are Design Patterns Dead?
Denunciar
Yoshitaka Kawashima
Seguir
Programmer
16 de Mar de 2023
•
0 recomendaciones
0 recomendaciones
×
Sé el primero en que te guste
ver más
•
393 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Check these out next
イミュータブルデータモデルの極意
Yoshitaka Kawashima
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
GraphQLのsubscriptionで出来ること
Shingo Fukui
分散システムについて語らせてくれ
Kumazaki Hiroki
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
1
de
15
Top clipped slide
Are Design Patterns Dead?
16 de Mar de 2023
•
0 recomendaciones
0 recomendaciones
×
Sé el primero en que te guste
ver más
•
393 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Descargar ahora
Descargar para leer sin conexión
Denunciar
Software
吉祥寺.pm32で話したスライドです。 邦題: デザインパターンは死んだ(のか)?
Yoshitaka Kawashima
Seguir
Programmer
Publicidad
Publicidad
Publicidad
Recomendados
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
933 vistas
•
23 diapositivas
Tackling Complexity
Yoshitaka Kawashima
2.7K vistas
•
16 diapositivas
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
6.6K vistas
•
23 diapositivas
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
22.3K vistas
•
40 diapositivas
トランザクションの並行実行制御 rev.2
Takashi Hoshino
6K vistas
•
50 diapositivas
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
64.1K vistas
•
119 diapositivas
Más contenido relacionado
Presentaciones para ti
(20)
イミュータブルデータモデルの極意
Yoshitaka Kawashima
•
22.4K vistas
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
•
2.5K vistas
GraphQLのsubscriptionで出来ること
Shingo Fukui
•
8.9K vistas
分散システムについて語らせてくれ
Kumazaki Hiroki
•
118.1K vistas
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
•
143K vistas
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
•
33.6K vistas
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
•
40.9K vistas
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
•
76.2K vistas
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
•
2K vistas
開発速度が速い #とは(LayerX社内資料)
mosa siru
•
57.6K vistas
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
•
82.2K vistas
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
•
10K vistas
トランザクションの設計と進化
Kumazaki Hiroki
•
71K vistas
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
•
16.6K vistas
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
•
4.6K vistas
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
•
2.7K vistas
Ruby での外部コマンドの実行について
Tomoya Kawanishi
•
6.3K vistas
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
•
51.3K vistas
こわくない Git
Kota Saito
•
872.1K vistas
マイクロサービスにおける 結果整合性との戦い
ota42y
•
12.2K vistas
Más de Yoshitaka Kawashima
(20)
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
•
20.1K vistas
本番障害に至る病
Yoshitaka Kawashima
•
2.3K vistas
システムダウンのひみつ
Yoshitaka Kawashima
•
2.2K vistas
Mavenの真実とウソ
Yoshitaka Kawashima
•
12.6K vistas
アンチフラジャイルの世界
Yoshitaka Kawashima
•
5.1K vistas
Atomic Architecture
Yoshitaka Kawashima
•
17.2K vistas
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
•
28.3K vistas
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
•
22.7K vistas
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
•
9.5K vistas
How to find tech books
Yoshitaka Kawashima
•
1.5K vistas
Antifragile Java - Java Day Tokyo 2017 D1-E1
Yoshitaka Kawashima
•
6K vistas
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
•
18.6K vistas
SIerにとっての越境 @ DevLOVE 199
Yoshitaka Kawashima
•
3.2K vistas
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
•
6.1K vistas
Antifragile Clojure
Yoshitaka Kawashima
•
3.8K vistas
Boilerplate vs Magic
Yoshitaka Kawashima
•
1.9K vistas
既婚プログラマの時間捻出術
Yoshitaka Kawashima
•
18.1K vistas
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Yoshitaka Kawashima
•
9.6K vistas
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
Yoshitaka Kawashima
•
3.3K vistas
週刊Webサイトのアーキテクチャ
Yoshitaka Kawashima
•
3.2K vistas
Publicidad
Último
(20)
①【萨斯喀彻温大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 vistas
☀️【密德萨斯大学毕业证成绩单留学生首选】
25mjhd12
•
6 vistas
在哪里可以做《俄克拉荷马大学文凭证书|毕业证》
lobd15
•
2 vistas
留信网认证可查【萨福克大学文凭证书毕业证购买】
hh123hh1
•
3 vistas
国外学历【麻省大学波士顿分校研究生文凭毕业证留学生首选】
534asdsa
•
4 vistas
①【劳里埃大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 vistas
留信网认证可查【俄亥俄大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
留信网认证可查【堪萨斯大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
留信网认证可查【艾格伍学院文凭证书毕业证购买】
32lkhng
•
2 vistas
Jitera Inc.Company presentation_v5.pdf
SoshiSuzuki2
•
153 vistas
留信网认证可查【莱比锡大学文凭证书毕业证购买】
khh123kj
•
2 vistas
留信网认证可查【麻省大学洛威尔分校文凭证书毕业证购买】
hh123hh1
•
2 vistas
留信网认证可查【怀俄明大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
☀️【伯明翰大学毕业证成绩单留学生首选】
25mjhd12
•
2 vistas
留信网认证可查【马努卡理工学院文凭证书毕业证购买】
ihh14ds
•
2 vistas
☀️【萨德伯里大学毕业证成绩单留学生首选】
15sad
•
2 vistas
☀️【斯旺西大学毕业证成绩单留学生首选】
25mjhd12
•
2 vistas
①【卡毕兰诺大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 vistas
☀️《URI毕业证仿真》
sada332
•
2 vistas
留信网认证可查【俄克拉荷马大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
Are Design Patterns Dead?
Are Design Patterns
Dead? kawasima
Are Design patterns
dead?
What are Design
patterns 例:横断歩道 歩行路が道路を横断する地点では、たとえ歩行者に法的優先権があろうとも、車には歩行者を脅迫 し、服従させる力がある。これは歩行路と道路が同一平面上にあるとつねに生じる問題である。(中 略)横断者が道路を快適で安全と感じるのは、横断歩道が障害物になり、車がスピードを落とし、歩 行者に道を譲ることを物理的に保証される場合のみである。(中略)横断歩行路を道路より15-30cm 高くし、道路がそこに向かって盛り上がるようにすればよい。勾配が1/6以下であれば車には安全だ し、しかも確実に車はスピードダウンする。遠方から横断を見やすくし、またそこでの歩行者の権利 に重み付けをする意味でも、道路際に縁を設けて歩行路を明示することもできよう。(中略)問題の 道路に、1日数回、異なった時間に出かけてみること。その度に、何秒待てば横断できるか測るこ と。待ち時間の平均が2秒以上であれば、このパターンを適用する方がよい。(後略) http://www.s-lagoon.co.jp/pattern_use_nf.html
Pattern Structure ・問題:横断歩道を造るとき、歩行者に安心感を与え、安全を守らねばならない ・フォース:2秒以上待たないと横断できないような道路 ・解決策:横断歩行路を道路より15-30cm高くし、勾配を付けて車の走行に配慮 する フォースとは… 解決しなければならない問題に対して、選択すべき解決策を 限定させるような、特定の状況の制約
Pattern Structure 問題 解決策 解決策 フォース フォース 解決策 フォース 繰り返し見られる (問題, フォース,
解決策)の ペア
フォースが変わると解決策も変わる
Singleton 問題: あるデータが1つだけであることを保証したい フォース: 生成のタイミングは利用するアプリケーション側でコント ロールしたいが、そこで生成されるデータ自体を書き換えることはでき ない。 解決策:
Javaだとダブルチェックロッキング
※Notion AIに書いてもらいました
DIコンテナになると、自前で実装する必要が無くなった 依然として解きたい問題はそこにありフォースも変わらないので 多くの人はSingletonパターンとして認識する
問題: あるデータが1つだけであることを保証したい フォース: 生成のタイミングは別にアプリケーションがコントロールする必 要はない 大元のフォースが変わると異なるパターンになる 解決策:
グローバル変数として作っておけば良い ○ Node.jsならexport const singleton = new Singleton() ○ JavaならClass初期化時にINSTANCE生成 この場合、ただの「グローバル変数パターン」?
クラス継承前提のパターンはOOじゃなければ変容する
Template Method 問題: アルゴリズムの構造を変更することなく、アルゴリズムの特定のス テップを再定義したい フォース:
サブクラス毎に再定義したいステップを実装する
※Notion AIに書いてもらいました
※Notion AIに書いてもらいました (関数合成はしてないですね) Template
Methodの「問題」は以前と して存在していて、フォースが「サ ブクラス」から「部分適用と関数合 成」に変わる フォースが大きく変わるとパターン 名くらいは変えていいかも…
言語の発展とともに不要になった ➡ 不正確 Web開発では元々「問題」として現れにくいものもあった ➡ Flyweight,
Interpretor 言語(フレームワーク)の発展とともに自分で解決策を実装しなくても良くなっただけ ➡「生成」のパターン全般 GoFはオブジェクト指向前提なので、解決策が変わるだけ 継承によるポリモーフィズム → パターンマッチによるポリモーフィズム ➡ Object Scopeのパターン (are still alive!!) フォースまで変わると、別パターン(元のパターンは死んだと言っていいかも) ➡ Template Method まとめ
Publicidad