Так, так, маю
Я довго мовчав на цю тему; пора говорити.
- Хтось намагався застосувати цю концепцію до дизайну об'єктів?
Так. Я працюю над формалізацією нормалізації об'єктів (і, отже, основної об'єктно-орієнтованої теорії) більше 20 років.
Зрозумівши, що дані та код є взаємозамінними, принаймні теоретично. Це означає, що принципи нормалізації та відносних операцій можуть застосовуватися як до коду, так і до даних.
Поки що це спрацювало досить добре - я вважаю, що отримані відомості були "таємною зброєю" моїх здібностей проектування, аналізу та реконструкції.
Я до цього нічого публічно не казав, тому що вважав, що врешті-решт я встигну закінчити дослідження - і виготовити інструменти, що маються на увазі - сам.
Але я дійшов висновку, що з усім іншим, що відбувається в моєму житті, що є більш важливим, веселішим та / або більш вигідним, я не збираюсь сам закінчити дослідження. Колись. Також є значна можливість, що я просто не маю необхідної теоретичної основи CS, щоб завершити роботу самостійно.
Я поцікавився в місцевому університеті щодо спонсорування кандидата або двох кандидатів наук, чи хочуть вони взятися за справу, але, на жаль, наш місцевий університет не викладає належної основи в семантиці мови програмування.
У цій галузі було проведено декілька цікавих досліджень, але все це - про що я знаю - не вийшло. Або неправильно передбачається, що оскільки нормалізація виходить із реляційного фону, вона не застосовується до об'єктно-орієнтованих моделей, або передбачається, що нормалізація стосується лише даних, визначених об'єктами. Однак є декілька дуже цікавих проектів, які є майже міс ...
Дійсно цікаві речі трапляються, коли ви застосовуєте нормалізацію до коду - що я можу стверджувати, є основою всього рефакторингу .
Тож зараз я думаю, що найкраще зробити - це зрозуміти слово, можливо, попросивши виступити на DevDays 2011 в DC і дізнатись, чи є така громада, яка хвилюється цим матеріалом, як і я.
Ось підлий погляд: Нормалізація - це процес створення чогось мінімального та непотрібного. Тому принцип повторення себе (DRY) об'єктно-орієнтованого програмування є чітким проявом цілей нормалізації. Я вважаю, що можу показати, що всі відомі об'єктно-орієнтовані принципи проектування / програмування / рефакторингу є логічним наслідком нормалізації об'єкта. Я думаю, що я можу також показати, що є більш цікаві речі, які можна зробити із системами в Object Normal Form (ONF), ніж просто рефакторинг.