└── 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 |
--------------------------------------------------------------------------------