객체 사용을 왜 막아야할까??
모든 메소드들이 정적 패턴으로 이루어져있다면..
책에서는 Math 클래스를 예를 들었다.
사실 메소드 단위의 기능들을 객체로 만들기도 애매하고. 그런경우 정적 (static) 메소드로 만드는데 어찌되었든 객체 생성을 막고싶을때 어떻게 해야하나??
클래스를 abstract로 생성한다면??? 하위클래스로 생성하면 그만이다.
생성자를 private 로 선안하면 객체 생성이 안된다
그리고 클래스 내부에서도 호출을 못하도록 예외를 던지면 객체를 생성할수 없는 class 완성
이걸 해서 머할까?? 아직은 감이 안오넹..
Monday, February 13, 2017
Thursday, February 9, 2017
Effective Java 규칙2 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라
다시 말하지만 내용을 요약한 부분이 아니라 이 책을 읽고 어떻게 이해를 했고 장단점이 머가 있을까라고 생각하는 나의 의견을 적는 곳이라서 참고 부탁합니다.
일반적으로 자바 빈스 패턴으로 getter와 setter를 사용하는게 일반적이지만
생성자를 만들때 인자의 개수가 많아지면 곤란한다. 그리고 그 인자 값들이 필수 값이 아니라 선택사항일 경우 인자의 개수만큼 생성자수의 개수만큼 만들어지니 복잡해진다.
만약에 개수가 A, B, C, D 4개라고 한다면 (모두 String이라고 가정한다.)
Class(A) 가 필요하겠고
Class(B) 가 필요하겠고
...
Class(A, B) 가 필요하고..
음..
불필요하게 많은 생성자가 필요하다.
Build Pattern 의 장점
Build Pattern 의 단점
일반적으로 자바 빈스 패턴으로 getter와 setter를 사용하는게 일반적이지만
생성자를 만들때 인자의 개수가 많아지면 곤란한다. 그리고 그 인자 값들이 필수 값이 아니라 선택사항일 경우 인자의 개수만큼 생성자수의 개수만큼 만들어지니 복잡해진다.
만약에 개수가 A, B, C, D 4개라고 한다면 (모두 String이라고 가정한다.)
Class(A) 가 필요하겠고
Class(B) 가 필요하겠고
...
Class(A, B) 가 필요하고..
음..
불필요하게 많은 생성자가 필요하다.
Build Pattern 의 장점
- 한번 build를 하면 변수값들이 immutable이 된다.
- 내부적으로 일련번호를 만들어서 관리할수 있다.
- build할때마다 새로운 객체를 생성할 수 있다.
- 변수 입력후 반환타입이 build객체라서 객체가 유연하다.
Build Pattern 의 단점
- 코딩이 길어진다
- 귀찮다.
- 장점이지만 한번 빌드한 변수는 수정이 불가능하다
이 정도로 생각이 되네요.
Wednesday, February 1, 2017
Effective Java 1장 생성자 대신 정적 팩토리 메소드를 사용하자
책을 읽고 난 후 개인 정리
- 반환값이 항상 객체가 아니다.
- type을 유추할 수 있다.
- Singletone으로 만들수도 있고 매 호출마다 객체를 생성 할 수 있다.
- Naming 이 가능하다
단점
- 객체를 생성하는 정적 메소드 이름이 일반 정적 메소드와 구분이 안된다.
- 개발자들끼리 어느정도 동의가 필요함
- 그외 딱히 단점은 없는것 같다
잘 정리하고 싶지만 회사 일이 바빠서 개인적인 느낌만 적어 나가야겠다.
Tuesday, November 1, 2016
regular expression remove font-size
recent I made regular expression for removing font-size tag in style attribute
this is what I made
this is what I made
private static String removeFontSizeFromStyle(String styleContent) { String fontPattern = "[fF][oO][nN][tT]-[sS][iI][zZ][eE]\\s*:\\s*[0-9.]+[a-zA-Z%]*\\s*+;?"; return styleContent.replaceAll(fontPattern, ""); }
Wednesday, October 12, 2016
Thursday, September 1, 2016
요즘 근황
다른 사람들 블로그를 보다 보면 한번씩 근황에 대해서 글이 올라온다.
요즘에는 이런저런을 하고 있고 그러다보니 오랫만에 블로그에 글을 남긴다는 내용이다.
5년만에 처음 회사에 이직을 했다. 개발하는게 자신이 있었고 그전부터 꾸준히 공부를 해오고있었다는 자신감이 있었는데 막상 이직을 해보니 회사에서 기존 개발되어있는 내용들을 숙지하는것이 보통일이 아니다 그전에는 오래되어서 모르는거 있으면 쉽게 쉽게 물어보고 모든게 익숙해서 내가 원하는대로 쉽게 했었는데 아무래도 적응기간이 필요한것 같다.
이제 한달이 지나가는것 같다.
나의 숨구멍이 조금씩 트이는것 같아 기분이 좋은데 일을 처리하는 속도가 안올라서 큰일이다.
조금만더 여유가 생기면 알고리즘공부를 다시 계속 해야겠다.
요즘에는 이런저런을 하고 있고 그러다보니 오랫만에 블로그에 글을 남긴다는 내용이다.
5년만에 처음 회사에 이직을 했다. 개발하는게 자신이 있었고 그전부터 꾸준히 공부를 해오고있었다는 자신감이 있었는데 막상 이직을 해보니 회사에서 기존 개발되어있는 내용들을 숙지하는것이 보통일이 아니다 그전에는 오래되어서 모르는거 있으면 쉽게 쉽게 물어보고 모든게 익숙해서 내가 원하는대로 쉽게 했었는데 아무래도 적응기간이 필요한것 같다.
이제 한달이 지나가는것 같다.
나의 숨구멍이 조금씩 트이는것 같아 기분이 좋은데 일을 처리하는 속도가 안올라서 큰일이다.
조금만더 여유가 생기면 알고리즘공부를 다시 계속 해야겠다.
Subscribe to:
Posts (Atom)