ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฆฅ ๋์์ธ ํจํด
์ํํธ์จ์ด์ ์ค๊ณ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ๋ณต๋๋ ํจํด์ฒ๋ผ ์์ฃผ ๋ํ๋๋ ํด๋์ค๋ค ๊ฐ์ ๊ด๊ณ(์ค๊ณ)๋ฅผ ๋งบ์ด์ค
๐ฟ ์ฌ๋ฐ๋ฅธ ์ค๊ณ๊ฐ ํ์ํ ์ด์
- ํด๋์ค๋ ํ๋์ ๊ธฐ๋ฅ์ ๊ฐ๋ ๊ฒ์ด ๊ฐ์ฅ ์ด์์
- ํด๋์ค๋ ํ๋์ ๊ธฐ๋ฅ์ ๊ฐ๋ ํด๋์ค๋ค ๊ฐ์ ์ํต์ ํตํด ๊ฐ๋ฐ
- ๋ฌธ์ ๋ฐ์ ์ ์ต์ํ์ ์ฝ๋ ์์ ์ ํ์ฌ ์ ์ง๋ณด์๊ฐ ์ฌ์์ง
- ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ
๐ฆฅ Iterator ํจํด
๐ฟ Iterator ๋
- Array, Linked List, Tree, Graph, Table(DBMS) ์ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์ค๋ ๊ฒ์ iterator๋ผ๊ณ ํ๋ค.
- ์ปฌ๋ ์ ๊ตฌํ๋ฐฉ๋ฒ์ ๋ ธ์ถ์ํค์ง ์๊ณ ์งํฉ์ฒด ์์ ๋ค์ด์๋ ๋ชจ๋ ํญ๋ชฉ์ ์ ๊ทผํ ์ ์๋๋ก ํจ
- ์ดํฐ๋ ์ดํฐ ํจํด์ ์ฌ์ฉํ๋ฉด ์ปฌ๋ ์ ์์ ์๋ ํญ๋ชฉ๋ค์ ์์ฐจ์ ๊ทผ ๊ฐ๋ฅ
iterator ์ฌ์ฉ ์ ๊ณผ ํ
class ExampleIterator() {
pulic static void main(String[] args) {
List<Integer> arrayList = new ArrayList<Integer>();
for(int i=0; i<arrayList.size(); i++) {
sout("%d ๋ฒ์งธ ์ : %d", i, arrayList.get(i);
}
Iterator it = arrayList.createIterator();
while(it.hasNext()) {
int num = (Integer)it.next();
sout("์ : %d", num);
}
}
}
๐ฟ Iterator ์ฅ์ ๊ณผ ๋จ์
- ์ฅ์ : ํ๋์ฉ ๊บผ๋ด์ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ ๊ตฌํ๊ณผ ๋ถ๋ฆฌํ ์ ์์
- ๋จ์ : ํน์ ์์๋ง ํ์ํด์ผํ๋ ๊ฒฝ์ฐ ๋งค์ฐ ๋นํจ์จ์ ์
๐ฆฅ Strategy ํจํด
๐ฟ strategy ํจํด์ด๋
- ๊ฐ์ฒด๊ฐ ํ ์ ์๋ ํ์๋ค์ ์ ๋ต์ผ๋ก ๋ง๋ค์ด ๋๊ณ ๋์ ์ผ๋ก ์ ๋ต ์์ ์ด ๊ฐ๋ฅํ๊ฒํ๋ ํจํด
- ์คํ์ค์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ํจํด
- ํน์ ์ปจํ ์คํธ์์ ์๊ณ ๋ฆฌ์ฆ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ๋ ์ค๊ณ ๋ฐฉ๋ฒ
- ์์) ๋ฐฐ์ก์ ๋ต
์ฐํธ ๋ฐฐ์ก | ์ค๋ฑ๊ธฐ ๋ฐฐ์ก | ๋น ๋ฅธ๋ฑ๊ธฐ ๋ฐฐ์ก | ํ๋ฐฐ |
- ๋์ผ ๊ณ์ด์ ์๊ณ ๋ฆฌ์ฆ ์ ์ : walk, run, fly, rocket
- ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์บก์ํ : ๋ฐฐ์ก ์ ๋ต ๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ์บก์ํ
- ์ด๋ค์ด ์ํธ ๊ตํ์ด ๊ฐ๋ฅํ๊ฒ ์ํํธ์จ์ด๋ฅผ ์ค๊ณํด์ผํจ
๐ฆฅ Singleton ํจํด
๐ฟ Singleton ํจํด์ด๋
- ํ๋์ ํด๋์ค๊ฐ ํ๋์ ์ธ์คํด์ค๋ง ๋ง๋ค ์ ์๋ ๋์์ธ ํจํด
- ์ฌ์ฉํด๋ณธ ๊ณณ : SecurityUtils ํด๋์ค๋ฅผ object ํค์๋๋ก ์ฑ๊ธํค ํด๋์ค๋ฅผ ์์ฑ. StringUtils์ isNullorEmpty ๋ฉ์๋ ์ฌ์ฉ
๐ฆฅ Factory ํจํด
๐ฟ Factory ํจํด์ด๋
- ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋์์ ๊ฐ์ฒด ์์ฑ์ ๋ผ๋๋ ๊ฒ
- ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋ฎ์์ง
- ์์ํด๋์ค์ ํ์ ํด๋์ค๊ฐ ๋ถ๋ฆฌ๋๋ ์ฅ์
- ์์
enum BAZZITYPE {
ANGELBAZZI,
DEVILBAZZI
}
abstract class Bazzi {
public abstract void printName();
}
class AngelBazzi extends Bazzi {
private String name;
@Override
public void printName() {
sout(name);
}
}
class DevilBAZZI extends Bazzi {
private String name;
@Override
public void printName() {
sout(name);
}
}
class BazziFactory {
public static Bazzi getBazzi(BAZZITYPE type) {
if(BAZZITYPE.ANGELBAZZI == type){
return new AngelBazzi();
} else if(BAZZITYYPE.DEVILBAZZI) {
return new DevilBazzi();
}
}
}
class Main {
public static void main(String[] args) {
Bazzi bazzi = new AngelBazzi(); // ๊ฒฐํฉ๋ ์์
Bazzi bazzi = BazziFactory.getBazzi(BAZZITYPE.DEVILBAZZI);
Bazzi bazzi2 = BazziFactory.getBazzi(BAZZITYPE.ANGELBAZZI);
}
}
๐ฆฅ Observer ํจํด
๐ฟ Observer ํจํด์ด๋
- ์ฃผ์ฒด๊ฐ ์ด๋ค ๊ฐ์ฒด์ ์ํ ๋ณํ๋ฅผ ๊ด์ฐฐํ๋ค๊ฐ ์ํ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ๋ฉ์๋๋ฅผ ํตํด ์ต์ ๋ฒ ๋ชฉ๋ก์ ์๋ ์ต์ ๋ฒ์๊ฒ ๋ณํ๋ฅผ ์๋ ค์ค
- ํธ์ํฐ์ ํ๋ก์ ๋์์ด ๊ธ์ ์ฌ๋ฆฌ๋ฉด ํ๋ก์ฐํ ์ฌ๋ ํผ๋์ ๋ณํ๋ฅผ ์๋ ค์ค
๐ฆฅ Proxy ํจํด
๐ฟ Proxy ํจํด์ด๋
- ๋์ ๊ฐ์ฒด์ ์ ๊ทผํ๊ธฐ ์ ์ ๊ทผ์ ๋ํ ํ๋ฆ์ ๊ฐ๋ก์ฑ์ด ๊ฐ์ฒด ์๋จ์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ ๋์์ธ ํจํด
- ๋ณด์, ๋ก๊น , ์บ์ฑ, ๋ฐ์ดํฐ ๊ฒ์ฆ์ ์ฌ์ฉ
๐ฆฅ MVC ํจํด
๐ฟ MVC ํจํด์ด๋
- ๋ฐ์ดํฐ ๊ฐ์ ๋ด๋ ๋ชจ๋ธ, ์ฌ์ฉ์์ ์ธํฐํ์ด์ค์ธ ๋ทฐ, ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌ์ํค๋ ์ปจํธ๋กค๋ฌ๋ก ๊ตฌ์ฑ๋ ๋์์ธ ํจํด.
- ๊ฐ๊ฐ ๊ตฌ์ฑ์์์ ์ง์คํ์ฌ ๊ฐ๋ฐํ ์ ์์
'๋ฉด์ ์ง๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Day03] Web (0) | 2022.12.15 |
---|---|
[Day02] Java (0) | 2022.12.14 |
[Day01] ๋คํธ์ํฌ์ ์ด์์ฒด์ (0) | 2022.12.13 |
[DB] ๋ฉด์ ์คํฐ๋ (1) (0) | 2022.02.28 |
MVC ํจํด (0) | 2022.01.30 |
- Total
- Today
- Yesterday
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์ฑ
- ๋ค์ด๋ฒํด๋ผ์ฐ๋
- Travis CI
- SpringGraphQL
- ๊ธฐ์ ๋ฉด์
- spring
- JPA
- N+1
- ํ๋ก๊ทธ๋๋จธ์ค
- Til
- ddl-auto
- ์ด์์ฒด์
- ํ์ผ์ ๋ก๋์ค์
- nginx
- SpringSecurity
- OS
- CodeDeploy
- TCP
- ์ธ๋ฑ์ค
- graphql
- ORA-27125
- ci/cd
- db
- Java
- ๋๋ค์
- ํธ๋์ญ์
- AWS
- Oracle
- level0
- EC2
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |