はじめに タイトルの表現が適切か自信無い。 TypeScriptを使い始めて、早数ヶ月なんとなく感覚を掴んできた。(気がする) 最近AWS Lambdaを扱うことが多く、もちろん実行環境はNode.js(JavaScript)を選択しています。 そんな中色々どう作っていこうかと考えていった中で、特にDynamoDBの操作は書いていくと、大体同じ書き方になるし何よりテストを書くのがめんどくさい。 こういうのはアプリケーションから分離して汎用化(外部モジュール化)してしまいたい。 本投稿では汎用化することを目的とし、以下を参考に TypeScript で型定義の恩恵を得つつ、どう作成したのかを書きます。 [ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場 DDDについて 参考 ドメイン駆動設計の用語と解説(抜粋版) - Qiita ドメイン層を
![TypeScript で DynamoDB のドメイン層を作ろう - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9646737202ed67a1ae44e6af0a0d5ef7ae20458d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VHlwZVNjcmlwdCUyMCVFMyU4MSVBNyUyMER5bmFtb0RCJTIwJUUzJTgxJUFFJUUzJTgzJTg5JUUzJTgzJUExJUUzJTgyJUE0JUUzJTgzJUIzJUU1JUIxJUE0JUUzJTgyJTkyJUU0JUJEJTlDJUUzJTgyJThEJUUzJTgxJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jYmY1ZTNlNmVmNWM0OGVhMzdjMjZiMDE2Y2QwMjhhMA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZGFpc3VrZUFyayZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OTkxNWJhZDcyODVkZWI4ZjZkMDVmY2I5MDY3MDg0ZTM%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc8a5345046c9ecd2bc07f2238f02b40d)