interface
http://www.martinfowler.com/bliki/ImplicitInterfaceImplementation.html
http://homepage.mac.com/keithray/blog/2006/01/06/
Minimal Interface : 사용자가 원하는 기능을 모두 제공하는 범주내에서 가장적은 수의 메소드만 갖도록 API를 설계하는 것이다.
http://blog.empas.com/ahnyounghoe/read.html?a=11710135
http://younghoe.info/33
http://younghoe.info/35
인터페이스를 익히는데는 시간이 필요하다. 많은 메소드를 인터페이스로 갖는 클래스를 잘 쓰이지 않을 뿐 아니라 외면 당하기 일쑤다. 적은 수의 집약적인 기능을 갖도록 메소드를 유지해야 사용자들이 클래스를 이해하고 사용하는데 수월하다.
자바나 C# 의 interface 키워드를 사용하는 경우처럼 타입으로 정의한 순수 인터페이스를 사용하는 경우라면 메소드 숫자를 줄여야 할 이유가 또 있다. 인터페이스 구현자의 부담을 줄여야 한다는 점이다. 인터페이스의 메소드 숫자가 많으면 이를 모두 구현해야 하기 때문에 상당한 양의 작업이 요구된다. (추상 클래스를 mixin 으로 활용하면 부담을 줄일 수 있다.)
Human Interface : Minimal Interface의 반대개념
http://blog.empas.com/ahnyounghoe/read.html?a=11685433
Fluent Interface
http://martinfowler.com/bliki/FluentInterface.html
http://blog.empas.com/ahnyounghoe/read.html?a=11849977&c=1139862
Duck Interface
http://martinfowler.com/bliki/DuckInterface.html
http://blog.empas.com/ahnyounghoe/read.html?a=11888723&c=1139862
나같은 경우는 경험상 Minimal Interface가 더 유용할거라고 생각을 한다.
트랙백 보낼 주소 :: http://www.ologist.co.kr/trackback/255
-
Humane Interface 와 Minimal Interface 사이의 균형
from Younghoe.Info2006/10/25 02:512005/12/15 (목) 12:32에 엠파스 블로그에 작성한 글에서 일부 발췌합니다. '대립'이나 '양분'을 염두하고 두 가지 주장을 볼 때 보다는양자의 균형점이나 각자의 이유를 기반으로 사고하는 것이 더 많은 아이디어를 주었다.그 결과 다음과 같은 그림을 그릴 수 있었다. 개발자 편의성을 개별 모듈로 갈 수록 높아져야 하고따라서 더욱 Humane 측면이 강조되어야 하고많은 개발자가 공유하기 때문에 범용성이 강조되어야 할 경우는범용적으로 것으로 .. -
Fluent Interface 적용 사례
from Younghoe.Info2006/10/25 02:562006/01/11 (수) 23:50 에 작성된 글을 엠파스 블로그에서 옮겨옵니다. Martin Fowler 의 글, Fluent Interface를 읽고 번역할 즈음에 수행하던 프로젝트에서 라이브러리를 구현하게 되었습니다. 용도가 적절하다 싶어 적용해보고 싶은 마음이 들더군요. 적용 대상으로 선정한 부분은 자바 기반의 웹 프로그램과 특정 라이브러리를 사용하는 제품 사이의 데이터 형식 변환이었습니다. 해당 제품이 제공하는 라이브러리 API 를 써야 .. -
Fluent Interface
from Younghoe.Info2006/10/25 15:48몇달전 Eric Evans 와 함께했던 워크샵에서 그는 인터페이스 스타일에 관해 이야기를 꺼냈고, 우리는 그러한 스타일의 인터페이스를 fluent interface 라 부르기로 했다. 비록 일반적인 스타일로 보기는 힘들지만 좀 더 알릴 필요가 있다고 생각된다. 이러한 인터페이스를 설명하는데 가장 좋은 방법은 예를 드는 것이다. Eric 의 제시한 가장 단순한 예제는 timeAndMoney 라이브러리다. 일반적으로 시간 간격을 만들어내기 위해서 다음과..

