예, 그래요
나는이 주제에 대해 오랫동안 조용히 해왔다. 말할 시간이야
- 누구든지이 개념을 객체 디자인에 적용하려고 했습니까?
예. 저는 20 년 이상 객체 정규화 (따라서 기본 객체 지향 이론)를 공식화하는 작업을 해왔습니다.
최소한 이론적으로는 데이터와 코드가 상호 교환 가능하다는 것을 인식함으로써. 이는 정규화 원칙과 관계 연산이 코드뿐만 아니라 데이터에도 적용될 수 있음을 의미합니다.
지금까지는 잘 작동했습니다. 얻은 통찰력은 디자인, 분석 및 리팩토링 능력의 "비밀 무기"였습니다.
나는 결국 연구를 끝내고 내재 된 도구를 스스로 만들 시간을 가질 것이라고 생각했기 때문에 이것에 대해 공개적으로 언급하지 않았습니다.
그러나 나는 인생에서 일어나고있는 모든 일이 더 중요하고, 더 재미 있고, 그리고 더 수익성이 높기 때문에, 스스로 연구를 마칠 시간이 없을 것이라는 결론에 도달했습니다. 이제까지. 또한 작업을 혼자 완료하는 데 필요한 CS 이론적 기초가 단순히 없을 가능성도 있습니다.
나는 지역 대학에서 원인을 받아들이려면 박사 후보자를 후원하는 것에 대해 문의했지만, 우리 지역 대학은 프로그래밍 언어 의미론에 대한 적절한 기초를 가르치지 않습니다.
이 분야에 대한 흥미로운 연구가 있었지만, 내가 알고있는 모든 것이 그 점수에 미치지 못했습니다. 정규화가 관계형 배경에서 비롯되어 객체 지향 모델에 적용되지 않거나 정규화가 객체에 의해 정의 된 데이터에만 적용되는 것으로 잘못 가정합니다. 그러나 매우 흥미로운 니어 미스 프로젝트가 있습니다 ...
정말 흥미로운 것은 코드에 정규화를 적용 할 때 발생합니다. 모든 리팩토링 의 기초입니다. . .
그래서 지금해야 할 가장 좋은 일은 DC의 DevDays 2011에서 발언 해달라고 요청함으로써이 단어에 흥미를 느끼는 커뮤니티가 있는지 알아내는 것입니다.
살짝 살펴보기 : 정규화는 무언가를 최소화하고 비 중복으로 만드는 과정입니다. 따라서 객체 지향 프로그래밍의 DRY (Do n't Repeat Yourself) 원칙은 정규화 목표를 분명히 나타냅니다. 잘 알려진 모든 객체 지향 디자인 / 프로그래밍 / 리팩토링 원칙이 객체 정규화의 논리적 결과임을 보여줄 수 있다고 생각합니다. 또한 리팩토링보다 ONF (Object Normal Form)의 시스템으로 수행 할 수있는 더 흥미로운 작업이 있음을 보여줄 수 있다고 생각합니다.