JAVA이야기
Coding Style : DSL(Domain Specific Language)
НooпeУ
2012. 1. 11. 01:12
만약 코딩을 할 때 속성을 지정해야 한다면?
우리는 어떻게 하는가?
이런식으로 코딩을 한다.
하지만 DSL스타일의 코딩으로 한다면 다른 개발자들이 볼때 직관적으로 무엇을 하는지 알 수 있다.
직관적으로 알 수 있지않은가?
출처: http://www.ibm.com/developerworks/kr/library/j-eaed14/index.html
우리는 어떻게 하는가?
Car2 car = new CarImpl(); MarketingDescription desc = new MarketingDescriptionImpl(); desc.setType("Box"); desc.setSubType("Insulated"); desc.setAttribute("length", "50.5"); desc.setAttribute("ladder", "yes"); desc.setAttribute("lining type", "cork"); car.setDescription(desc);
이런식으로 코딩을 한다.
하지만 DSL스타일의 코딩으로 한다면 다른 개발자들이 볼때 직관적으로 무엇을 하는지 알 수 있다.
Car car = Car.describedAs() .box() .length(50.5) .type(Type.INSULATED) .includes(Equipment.LADDER) .lining(Lining.CORK);
직관적으로 알 수 있지않은가?
출처: http://www.ibm.com/developerworks/kr/library/j-eaed14/index.html