├── .gitignore ├── LICENSE ├── README.md ├── datetime ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ └── java │ │ └── dev │ │ └── agitrubard │ │ └── datetime │ │ ├── DateTimeApplication.java │ │ ├── controller │ │ └── EventController.java │ │ ├── model │ │ ├── entity │ │ │ └── EventEntity.java │ │ ├── request │ │ │ └── EventCreateRequest.java │ │ └── response │ │ │ └── EventResponse.java │ │ ├── repository │ │ ├── EventRepository.java │ │ └── impl │ │ │ └── EventRepositoryImpl.java │ │ └── service │ │ ├── EventService.java │ │ └── impl │ │ └── EventServiceImpl.java │ └── test │ └── java │ └── dev │ └── agitrubard │ └── datetime │ └── controller │ └── DateTimeEndToEndTests.java ├── dependencyinjection ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ └── java │ └── dev │ └── agitrubard │ └── dependencyinjection │ ├── DependencyInjectionApplication.java │ ├── controller │ └── SomeController.java │ └── service │ ├── SomeService.java │ └── impl │ └── SomeServiceImpl.java ├── guardclause ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ └── java │ └── dev │ └── agitrubard │ └── guardclause │ └── Main.java └── pattern ├── factory ├── .gitignore ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ └── java │ │ └── dev │ │ └── agitrubard │ │ └── factory │ │ ├── FactoryApplication.java │ │ ├── controller │ │ └── AuthController.java │ │ ├── model │ │ ├── entity │ │ │ └── UserEntity.java │ │ ├── enums │ │ │ └── TwoFactorAuthenticationType.java │ │ └── request │ │ │ ├── LoginRequest.java │ │ │ └── RegisterRequest.java │ │ ├── repository │ │ ├── UserRepository.java │ │ └── impl │ │ │ └── UserRepositoryImpl.java │ │ └── service │ │ ├── LoginService.java │ │ ├── RegisterService.java │ │ ├── TwoFactorAuthenticationService.java │ │ ├── TwoFactorAuthenticationServiceFactory.java │ │ └── impl │ │ ├── EmailAuthenticationServiceImpl.java │ │ ├── LoginServiceImpl.java │ │ ├── PassKeyAuthenticationServiceImpl.java │ │ ├── RegisterServiceImpl.java │ │ ├── SmsAuthenticationServiceImpl.java │ │ └── TwoFactorAuthenticationServiceFactoryImpl.java │ └── test │ └── java │ └── dev │ └── agitrubard │ └── factory │ └── controller │ └── FactoryPatternEndToEndTest.java └── strategy ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main └── java │ └── dev │ └── agitrubard │ └── strategy │ ├── StrategyApplication.java │ ├── controller │ └── NotificationController.java │ ├── model │ ├── enums │ │ └── NotificationType.java │ └── request │ │ └── NotificationRequest.java │ └── service │ ├── NotificationService.java │ └── impl │ ├── EmailNotificationServiceImpl.java │ ├── PushNotificationServiceImpl.java │ └── SmsNotificationServiceImpl.java └── test └── java └── dev └── agitrubard └── strategy └── controller └── StrategyPatternEndToEndTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/README.md -------------------------------------------------------------------------------- /datetime/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/.gitignore -------------------------------------------------------------------------------- /datetime/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /datetime/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/README.md -------------------------------------------------------------------------------- /datetime/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/mvnw -------------------------------------------------------------------------------- /datetime/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/mvnw.cmd -------------------------------------------------------------------------------- /datetime/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/pom.xml -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/DateTimeApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/DateTimeApplication.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/controller/EventController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/controller/EventController.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/model/entity/EventEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/model/entity/EventEntity.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/model/request/EventCreateRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/model/request/EventCreateRequest.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/model/response/EventResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/model/response/EventResponse.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/repository/EventRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/repository/EventRepository.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/repository/impl/EventRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/repository/impl/EventRepositoryImpl.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/service/EventService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/service/EventService.java -------------------------------------------------------------------------------- /datetime/src/main/java/dev/agitrubard/datetime/service/impl/EventServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/main/java/dev/agitrubard/datetime/service/impl/EventServiceImpl.java -------------------------------------------------------------------------------- /datetime/src/test/java/dev/agitrubard/datetime/controller/DateTimeEndToEndTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/datetime/src/test/java/dev/agitrubard/datetime/controller/DateTimeEndToEndTests.java -------------------------------------------------------------------------------- /dependencyinjection/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/.gitignore -------------------------------------------------------------------------------- /dependencyinjection/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /dependencyinjection/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/README.md -------------------------------------------------------------------------------- /dependencyinjection/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/mvnw -------------------------------------------------------------------------------- /dependencyinjection/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/mvnw.cmd -------------------------------------------------------------------------------- /dependencyinjection/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/pom.xml -------------------------------------------------------------------------------- /dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/DependencyInjectionApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/DependencyInjectionApplication.java -------------------------------------------------------------------------------- /dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/controller/SomeController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/controller/SomeController.java -------------------------------------------------------------------------------- /dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/service/SomeService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/service/SomeService.java -------------------------------------------------------------------------------- /dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/service/impl/SomeServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/dependencyinjection/src/main/java/dev/agitrubard/dependencyinjection/service/impl/SomeServiceImpl.java -------------------------------------------------------------------------------- /guardclause/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/.gitignore -------------------------------------------------------------------------------- /guardclause/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /guardclause/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/README.md -------------------------------------------------------------------------------- /guardclause/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/mvnw -------------------------------------------------------------------------------- /guardclause/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/mvnw.cmd -------------------------------------------------------------------------------- /guardclause/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/pom.xml -------------------------------------------------------------------------------- /guardclause/src/main/java/dev/agitrubard/guardclause/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/guardclause/src/main/java/dev/agitrubard/guardclause/Main.java -------------------------------------------------------------------------------- /pattern/factory/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/.gitignore -------------------------------------------------------------------------------- /pattern/factory/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /pattern/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/README.md -------------------------------------------------------------------------------- /pattern/factory/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/mvnw -------------------------------------------------------------------------------- /pattern/factory/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/mvnw.cmd -------------------------------------------------------------------------------- /pattern/factory/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/pom.xml -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/FactoryApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/FactoryApplication.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/controller/AuthController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/controller/AuthController.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/model/entity/UserEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/model/entity/UserEntity.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/model/enums/TwoFactorAuthenticationType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/model/enums/TwoFactorAuthenticationType.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/model/request/LoginRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/model/request/LoginRequest.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/model/request/RegisterRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/model/request/RegisterRequest.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/repository/UserRepository.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/repository/impl/UserRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/repository/impl/UserRepositoryImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/LoginService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/LoginService.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/RegisterService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/RegisterService.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/TwoFactorAuthenticationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/TwoFactorAuthenticationService.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/TwoFactorAuthenticationServiceFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/TwoFactorAuthenticationServiceFactory.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/EmailAuthenticationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/EmailAuthenticationServiceImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/LoginServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/LoginServiceImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/PassKeyAuthenticationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/PassKeyAuthenticationServiceImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/RegisterServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/RegisterServiceImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/SmsAuthenticationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/SmsAuthenticationServiceImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/TwoFactorAuthenticationServiceFactoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/main/java/dev/agitrubard/factory/service/impl/TwoFactorAuthenticationServiceFactoryImpl.java -------------------------------------------------------------------------------- /pattern/factory/src/test/java/dev/agitrubard/factory/controller/FactoryPatternEndToEndTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/factory/src/test/java/dev/agitrubard/factory/controller/FactoryPatternEndToEndTest.java -------------------------------------------------------------------------------- /pattern/strategy/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/.gitignore -------------------------------------------------------------------------------- /pattern/strategy/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /pattern/strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/README.md -------------------------------------------------------------------------------- /pattern/strategy/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/mvnw -------------------------------------------------------------------------------- /pattern/strategy/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/mvnw.cmd -------------------------------------------------------------------------------- /pattern/strategy/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/pom.xml -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/StrategyApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/StrategyApplication.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/controller/NotificationController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/controller/NotificationController.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/model/enums/NotificationType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/model/enums/NotificationType.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/model/request/NotificationRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/model/request/NotificationRequest.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/service/NotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/service/NotificationService.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/EmailNotificationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/EmailNotificationServiceImpl.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/PushNotificationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/PushNotificationServiceImpl.java -------------------------------------------------------------------------------- /pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/SmsNotificationServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/main/java/dev/agitrubard/strategy/service/impl/SmsNotificationServiceImpl.java -------------------------------------------------------------------------------- /pattern/strategy/src/test/java/dev/agitrubard/strategy/controller/StrategyPatternEndToEndTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agitrubard/java-spring-best-practices/HEAD/pattern/strategy/src/test/java/dev/agitrubard/strategy/controller/StrategyPatternEndToEndTest.java --------------------------------------------------------------------------------