Читанул, там все ещё не раскрывается тема, что два способа выражения на самом деле никогда не были эквивалентны, соответствуют разным сущностям и сложность добавления метода это указание на логическую ошибку
Читанул, там все ещё не раскрывается тема, что два способа выражения на самом деле никогда не были эквивалентны, соответствуют разным сущностям и сложность добавления метода это указание на логическую ошибку
добавление "периметра" не большая ошибка, чем расширение Expr коммутативностью
тогда надо было не расширять Expr а добавить новый
а можно пойти третьим путём и не именовать интерфейс явно вообще, определив его требуемыми операциями, и для каждой функции породить этот интерфейс описанием
а можно пойти третьим путём и не именовать интерфейс явно вообще, определив его требуемыми операциями, и для каждой функции породить этот интерфейс описанием
в общем экспрешн проблем - реален, дуальность в наборе фич или наборе объектов определенно есть
очень странно говорить, что это проблема представления, когда в каждом случае верно только одно из них, а второе - логическая ошибка
если ты добавляешь в фигуру метод то тебе нужно прообновлять всех потомков. просто "отнаследовать ещё один класс" не будет работать в большинстве случаев
если ты добавляешь в фигуру метод то тебе нужно прообновлять всех потомков. просто "отнаследовать ещё один класс" не будет работать в большинстве случаев