본문 바로가기
반응형

Total169

Effective Java : (4) Builder Pattern 정적 팩터리와 생성자에는 똑같은 제약이 있습니다. 선택적 매개변수가 많을 때 적절하게 대응하기가 어렵다는 점입니다. 첫 번째 대안으로, 점층적 생성자 패턴(telescoping constructior pattern)을 주로 사용하게 됩니다. 그러나 매개변수가 많고, 인자로 전달하기 원치 않는 변수가 있을 때 혼란을 초래합니다. 다음과 같이 어떤 한 생성자를 선택하여 객체를 생성했다고 봅시다. NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27); 네 번째 인자는 지방을 의미하는 인자를 전달해야하는데, 굳이 전달 할 필요가 없지만 0을 전달하였습니다. 또한, 각 매개변수가 어떤 것을 뜻하는지 한 눈에 파악하기 어렵습니다. 두 번째 대안으.. 2020. 4. 24.
Effective Java : (3) Construction Injection 의존성을 주입할 때, Field Injection을 권장하고 있지 않습니다. 대신 Construction Injection을 권장합니다. 또한, IntelliJ에서 Field Injection은 Warnning으로 감지합니다. public class Testclass { @Autowired // -> Warnning 발생 private ClassName claseVariable; public Testclass() { } } 단일 책임의 원칙 Field Injection은 의존성을 주입하기 쉽습니다. @Autowired Annotation만 선언하면 여러 개의 변수를 쉽게 나열할 수 있습니다. Constrction Injection을 사용하면 생성자에 파라미터가 많다는 것을 느끼고, 리팩토링을 자연스럽게 .. 2020. 4. 24.
Effective Java : (2) 정적 팩터리 메서드 다음 사항을 관리하는 방법에 대해 설명합니다. 객체를 만들어야 할 때와 만들지 말아야 할 때를 구분하는 방법 올바른 객체 생성 방법과 불필요한 생성을 피하는 방법 제때 파괴됨을 보장하고 파괴 전에 수행해야 할 정리 작업 생성자 대신 정적 팩터리 메서드를 고려하라 클래스는 클라이언트에 public 생성자 대신 정직 팩토리 메서드를 제공할 수 있다. 장점은 다음과 같다. 1. 이름을 가질 수 있다. BigInteger(int, int, Random)와 BigInteger.probablePrime 중 값이 소수인 BigInteger를 반환의 의미를 더 갖고 있는가 ? 클래스를 설명하는 문서를 참고하지 않다고 쉽게 의미부여를 할 수 있다. 2. 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다. 인스턴스를 .. 2020. 4. 24.
Java에서 자주 사용하는 lamda식 문법 저는 Java에서 Lamda를 자주 사용하는 편입니다.. Front End 개발을 한 동안 하면서 Lamda식 문법이 헷갈려서 한 곳에 정리를 하려 합니다. List 를 Map 으로 변환 Map의 Value에 Instance를 그대로 넣고 싶을 때는 Function.identy()를 사용합니다. public Map convertLitToMap(List objectList) { return objectList.stream().collect(Collectors.toMap(InstanceNm:getId, Function.identy(), (v1, v2) -> v1, HashMap::new)); } 2020. 4. 24.
설교 말씀 : 자기 꾀에 빠지는 세상 2019년 9월 15일, 번동평화교회 3부예배 자기 꾀에 빠지는 세상 고린도전서 3장 18-23절 18. 아무도 자신을 속이지 말라 너희 중에 누구든지 이 세상에서 지혜 있는 줄로 생각하거든 어리석은 자가 되라 그리하여야 지혜로운 자가 되리라 19. 이 세상 지혜는 하나님께 어리석은 것이니 기록된 바 하나님은 지혜 있는 자들로 하여금 자기 꾀에 빠지게 하시는 이라 하였고 20. 또 주께서 지혜 있는 자들의 생각을 헛것으로 아신다 하셨느니라 21. 그런즉 누구든지 사람을 자랑하지 말라 만물이 다 너희 것임이라 22. 바울이나 아볼로나 게바나 세계나 생명이나 사망이나 지금 것이나 장래 것이나 다 너희의 것이요 23. 너희는 그리스도의 것이요 그리스도는 하나님의 것이니라 인도에서 코브라로 인해 인명피해가 심각.. 2020. 4. 24.
설교 말씀 : 주께서 주시는 결말 2019년 9월 8일, 번동평화교회 3부예배 주께서 주시는 결말 야고보서 5장 7-11 7. 그러므로 형제들아 주께서 강림하시기까지 길이 참으라 보라 농부가 땅에서 나는 귀한 열매를 바라고 길이 참아 이른 비와 늦은 비를 기다리나니 8. 너희도 길이 참고 마음을 굳건하게 하라 주의 강림이 가까우니라 9. 형제들아 서로 원망하지 말라 그리하여야 심판을 면하리라 보라 심판주가 문 밖에 서 계시니라 10. 형제들아 주의 이름으로 말한 선지자들을 고난과 오래 참음의 본으로 삼으라 11. 보라 인내하는 자를 우리가 복되다 하나니 너희가 욥의 인내를 들었고 주께서 주신 결말을 보았거니와 주는 가장 자비하시고 긍휼히 여기시는 이시니라 문둥병이야기를 들었습니다. 문둥병에 걸린 아이와 함께 부자가 소록도로 떠났습니다. .. 2020. 4. 24.
반응형