└── facadePattern ├── .classpath ├── .project ├── .settings └── org.eclipse.jdt.core.prefs ├── bin └── facadePattern │ ├── AuthorizeManager.class │ ├── AuthorizeService.class │ ├── CacheManager.class │ ├── CacheService.class │ ├── CrossCuttingConcernsFacade.class │ ├── CustomerManager.class │ ├── CustomerService.class │ ├── LogManager.class │ ├── LogService.class │ └── Main.class └── src └── facadePattern ├── AuthorizeManager.java ├── AuthorizeService.java ├── CacheManager.java ├── CacheService.java ├── CrossCuttingConcernsFacade.java ├── CustomerManager.java ├── CustomerService.java ├── LogManager.java ├── LogService.java └── Main.java /facadePattern/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /facadePattern/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | facadePattern 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /facadePattern/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.release=enabled 12 | org.eclipse.jdt.core.compiler.source=1.8 13 | -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/AuthorizeManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/AuthorizeManager.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/AuthorizeService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/AuthorizeService.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/CacheManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/CacheManager.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/CacheService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/CacheService.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/CrossCuttingConcernsFacade.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/CrossCuttingConcernsFacade.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/CustomerManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/CustomerManager.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/CustomerService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/CustomerService.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/LogManager.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/LogManager.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/LogService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/LogService.class -------------------------------------------------------------------------------- /facadePattern/bin/facadePattern/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/burcubayik/designPatterns/2a1ea21f29589b6b1ec93b03d010881fdc67d9e9/facadePattern/bin/facadePattern/Main.class -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/AuthorizeManager.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | 4 | 5 | public class AuthorizeManager implements AuthorizeService { 6 | 7 | @Override 8 | public void checkUser() { 9 | System.out.println("checkUser"); 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/AuthorizeService.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public interface AuthorizeService { 4 | void checkUser(); 5 | } 6 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/CacheManager.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public class CacheManager implements CacheService { 4 | 5 | @Override 6 | public void cache() { 7 | System.out.println("Caching"); 8 | 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/CacheService.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public interface CacheService { 4 | void cache(); 5 | 6 | } 7 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/CrossCuttingConcernsFacade.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public class CrossCuttingConcernsFacade { 4 | public LogService logService; 5 | public CacheService cacheService; 6 | public AuthorizeService authorizeService; 7 | public CrossCuttingConcernsFacade() { 8 | logService = new LogManager(); 9 | cacheService =new CacheManager(); 10 | authorizeService = new AuthorizeManager(); 11 | 12 | 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/CustomerManager.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public class CustomerManager implements CustomerService { 4 | private CrossCuttingConcernsFacade crossCuttingConcernsFacade; 5 | 6 | public CustomerManager() { 7 | crossCuttingConcernsFacade = new CrossCuttingConcernsFacade(); 8 | } 9 | 10 | @Override 11 | public void save() { 12 | 13 | crossCuttingConcernsFacade.cacheService.cache(); 14 | crossCuttingConcernsFacade.authorizeService.checkUser(); 15 | crossCuttingConcernsFacade.logService.log(); 16 | System.out.println("Saved"); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/CustomerService.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public interface CustomerService { 4 | void save(); 5 | 6 | } 7 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/LogManager.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public class LogManager implements LogService{ 4 | 5 | @Override 6 | public void log() { 7 | System.out.println("logging"); 8 | 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/LogService.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public interface LogService { 4 | void log(); 5 | } 6 | -------------------------------------------------------------------------------- /facadePattern/src/facadePattern/Main.java: -------------------------------------------------------------------------------- 1 | package facadePattern; 2 | 3 | public class Main { 4 | 5 | public static void main(String[] args) { 6 | CustomerService customerService = new CustomerManager(); 7 | 8 | customerService.save(); 9 | 10 | } 11 | 12 | } 13 | --------------------------------------------------------------------------------