Junior — Middle
როგორ არის განხორციელებული 'შაბლონური მეთოდი' ნიმუში Spring-ის ჩარჩოში?
sobes.tech AI
პასუხი AI-სგან
Spring-ში "შაბლონური მეთოდი" ნიმუში განხორციელებულია აბსტრაქტული კლასებისა და hook-ების მეშვეობით, სადაც ძირითადი კლასი განსაზღვრავს ზოგად ალგორითმს, ხოლო ქვესკლასები ცალკეულ ნაბიჯებს გადახედავენ. მაგალითად, Spring Framework-ში არსებობს კლასი JdbcTemplate, რომელიც განსაზღვრავს JDBC-თან მუშაობის ნიმუშს: კავშირის გახსნა, სვეტების შესრულება, შედეგის დამუშავება და რესურსების დახურვა. მომხმარებელი მხოლოდ შედეგის დამუშავების ნაწილს (მაგალითად, RowMapper-ის მეშვეობით) გადახედავს.
სადავო გამარტივებული ნიმუშის მეთოდი:
public abstract class AbstractProcessor {
public void process() {
stepOne();
stepTwo();
stepThree();
}
protected abstract void stepOne();
protected void stepTwo() {
// საერთო ნაბიჯი, შეიძლება გადახედოს
System.out.println("ნაგულისხმევი მეორე ნაბიჯი");
}
protected abstract void stepThree();
}
public class ConcreteProcessor extends AbstractProcessor {
@Override
protected void stepOne() {
System.out.println("მოწესრიგებული ნაბიჯი ერთი");
}
@Override
protected void stepThree() {
System.out.println("მოწესრიგებული ნაბიჯი სამი");
}
}
ამ გზით, Spring იყენებს ამ ნიმუშს განმეორებადი ოპერაციების ინკაფსულაციისა და გაფართოების წერტილების უზრუნველსაყოფად.