говорится, что она (рефлексия) обычно используется программами, которые требуют проверки или изменения поведения приложения во время исполнения кода.
можно было бы привести систему класса " а у нас пользователь всё может настроить сам, без программирования", с созданием новых типов данных, свойств и т.д.
Дело не в полноте примера, а в скорее в том, что он, возможно, не совсем подходит.
Приведенный вами пример, можно, и, имхо, нужно реализовывать с помощью «стандартного» ООП — инкапсуляция, наследование, полиморфизм и т.д.
В том ключе, в котором вы описываете рефлексию, в качестве примера можно было бы привести систему класса " а у нас пользователь всё может настроить сам, без программирования ", с созданием новых типов данных, свойств и т.д.
три доллара это обозначение, что дальше используется макрос. Можете смело написать q 1
Обычно определения макросов выносят в отдельный модуль *.inc, но можно и по тексту, например: #define json(%sql) ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL("json", %sql)
и дальше в рамках метода использовать w $$$json("SELECT * FROM Sample.Person")
Cache'-проектировщик должен всегда мыслить объектами предметной области (Domain Model, DM). Ночь. Улица. Фонарь. Аптека. Кому неймется использовать абстракции — просьба входить с парадного. У нас здесь всё по-простому — всяческие «регистры учета» мы традиционно доводим до жидкого состояния и сливаем в. В качестве компенсации за мучения типа «ну как же это обозвать, чтобы было в DM?» рано или поздно наступает совершенная синергия — система начинает отвечать адекватно на воздействия, к которым проектировщик ее не готовил.
Признак того, что Вы знаете этот шаблон простой: На половину новых запросов заказчика Вам ничего не нужно делать. Система ведет себя точно так же, как и реальный бизнес — процветает.
DM — это главный шаблон. И он же пригодится нам первым.
Еще одна небольшая ремарка:
Cache' предлагает не просто хорошую реализацию модели предметной области. Здесь очень лаконичными и удобными средствами обеспечивается инкапсуляция не только данных, но и поведения объектов предметной области в соответствующие классы.
Как-то так?
Приведенный вами пример, можно, и, имхо, нужно реализовывать с помощью «стандартного» ООП — инкапсуляция, наследование, полиморфизм и т.д.
В том ключе, в котором вы описываете рефлексию, в качестве примера можно было бы привести систему класса " а у нас пользователь всё может настроить сам, без программирования ", с созданием новых типов данных, свойств и т.д.
три доллара это обозначение, что дальше используется макрос. Можете смело написать
q 1Обычно определения макросов выносят в отдельный модуль *.inc, но можно и по тексту, например:
#define json(%sql) ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL("json", %sql)и дальше в рамках метода использовать
w $$$json("SELECT * FROM Sample.Person")#чтотонетакУ вас вполне конкретный список вопросовна windows alt+0233
«Однажды и только однажды» — не?
Еще варианты — шаблон адаптер + метод-генераторы. Например, с 2013 версии Func-метод