Я только начинаю с Grails (из Rails), и я заметил, что Grails действительно не похоже на модификаторы областей на поля в классах домена.Почему модификаторы областей в полях в классах домена предотвращают проверку?
Я понял, что все поля без полей в классе домена по умолчанию были общедоступны, но если вы действительно объявите его общедоступным, Grails не будет его проверять.
class Person {
public String firstName
public String middleName
public String lastName
}
Если добавить ограничение, Grails выбросит исключение NotReadablePropertyException при вызове Validate()
class Person {
public String firstName
public String middleName
public String lastName
static constraints = {
middleName nullable: true
}
}
Однако, если вы берете на публичное заявление, все работает нормально.
Может кто-нибудь объяснить, что происходит за кулисами, с областью определения областей домена? Трудно понять, почему явным образом объявляю что-то публичное, которое уже открыто, нарушит структуру. Я предполагаю, что вы также не захотите объявлять что-либо «частным», хотя было бы неплохо, если бы не было того, что поля, которые нельзя манипулировать напрямую, могут быть скрыты от потребителей класса домена.
Спасибо. один был головным скребком, но это имеет смысл. – user1023110
PS ... просто понял, что вы парень, который написал книгу «Программирование Грааля», которую я сейчас только что купил. (Другие, я, кажется, пропустил, как магия выполняется так сложно, чтобы сказать, что происходит на самом деле.) – user1023110