マガジンのカバー画像

Javaのお勉強をする

34
運営しているクリエイター

2021年3月の記事一覧

【Javaお勉強日記】JUnitを使ってテストを自動化する・基礎の基礎編

【Javaお勉強日記】JUnitを使ってテストを自動化する・基礎の基礎編

テストのやり方、一回確認したのに綺麗さっぱり忘れていたので覚え書きです。

前提条件・VScodeでJavaが動かせるようになっている

・ビルドツールにはGradleを使う

インストールするものVScodeのエクステンション

build.gradleに追記

testImplementation group: 'junit', name: 'junit', version: '4.4'

もっとみる
【Javaでドメイン駆動設計を実現する-7】オブジェクト指向で開発したり、勉強するコツについて

【Javaでドメイン駆動設計を実現する-7】オブジェクト指向で開発したり、勉強するコツについて

こちらの続き。このテキストに沿って勉強してきた内容のまとめ記事の、最後の記事になります。

最早表題の「Javaで~」関係ない分野に入ってきましたが、シリーズということで一応、そのまま。

オブジェクト指向的に開発するにはよーしオブジェクト指向で開発すっぞ! と思っても、今までのウォータフォール式の開発手法では、せっかくのオブジェクト指向の良さが引き出せないままに、なんとなくオブジェクト指向っぽい

もっとみる
【Javaでドメイン駆動設計を実現する-5】画面の設計とドメインオブジェクトの設計を揃えたい

【Javaでドメイン駆動設計を実現する-5】画面の設計とドメインオブジェクトの設計を揃えたい

この記事の続きです

「なんでも出来る画面」からの卒業「会員情報を変更するぞー」という画面があって、そこで名前も住所も電話番号も支払い方法も何もかも変更できるようになっている、というのはよくある設計ですが、それだと画面とバックグラウンドを繋ぐ処理のところが大わらわになってしまって、修正がしづらい画面になってしまいます。

そこで、名前なら名前、住所なら住所、と項目ひとつひとつについて変更するための

もっとみる
【Javaでドメイン駆動設計を実現する-4】データベースの設計とドメインオブジェクトの関係について

【Javaでドメイン駆動設計を実現する-4】データベースの設計とドメインオブジェクトの関係について

これのつづき。

テーブル設計をすっきりさせて変更を容易にするテーブル設計がごちゃごちゃしていると、「NULLが入ってきたらどうしよう」とか「イレギュラーな値が入っていた場合の対応は……」とか考えないといけなくて、結局プログラムもわちゃわちゃしてきてしまいます。

そこで、テーブル設計をスッキリさせて、変更を容易にしていきたいと思います。

テーブル設計をスッキリさせる、NotNull制約と一意性

もっとみる
【Javaでドメイン駆動設計を実現する-3】Application層を変更に強くする

【Javaでドメイン駆動設計を実現する-3】Application層を変更に強くする

SpringBoot的には@Service。

これのつづき。

サービスクラス、ごちゃごちゃしがち問題UI(Presentation/Controller)層からの要求に応じてドメインオブジェクトを返すのがApplication層(サービスクラス)の仕事。

それだけのはずなんだけど、サービスクラスは常にごちゃごちゃしがち。その原因を整理して、スッキリスリムなサービスクラスを作れるようになりたい

もっとみる
【Javaでドメイン駆動設計を実現する-2】三層アーキテクチャとドメインモデルの分離

【Javaでドメイン駆動設計を実現する-2】三層アーキテクチャとドメインモデルの分離

これのつづき。

三層アーキテクチャって何だったっけこれ。

この例ではレイヤーが「四層」になっていてドメインが既に分離されてるけど、元々は「Presentation+Application+DataSource」の三層構造が一般的だったそうで。

ところが、三層構造で作っていくと、Application層にうぞうぞと業務ロジックが増えていって、結局変更に弱いアプリケーションになってしまう。

もっとみる