أقترح جعل أنواع SqlObject التالية عامة:
Handler
@SqlMethodAnnotation
و HandlerFactory
@SqlMethodDecoratingAnnotation
و HandlerDecorator
سيسمح هذا للمستخدمين ومؤلفي المكتبات بإنشاء معالجات أسلوب SQL الخاصة بهم ومصممي الديكور ، مما يجعل التخزين المؤقت ممكنًا كخيار مثبت للمستخدمين الذين يريدون ذلك ، على الرغم من أنه قد تكون هناك حالات استخدام أخرى لم نفكر فيها.
يجب علينا أيضًا تقديم طريقة لتحديد الترتيب عندما يكون هناك العديد من الديكورات. يخبرني حدسي أن التعليق التوضيحي الثابت @Priority
ليس هو أفضل طريقة ، لأن المستخدمين قد يريدون ترتيبًا مختلفًا في سيناريوهات مختلفة.
بالنسبة لمصممي الديكور المتعددين ، قد يكون أحد الأساليب:
<strong i="6">@interface</strong> DecoratorOrder {
Class<? extends Annotation>[] value();
}
وهكذا ، في كائن SQL:
<strong i="10">@FooDecorator</strong>
<strong i="11">@BarDecorator</strong>
@DecoratorOrder(BarDecorator.class, FooDecorator.class)
List<Thing> listAllTheThings();
إذا لم تحدد طلبًا ، فسيكون طلب الديكور غير محدد.
حسنًا بواسطتي.
ثابت في # 458
التعليق الأكثر فائدة
حسنًا بواسطتي.