অতীতে, আমি সাধারণত আমার প্রাথমিকভাবে তৈরির / আপডেট হওয়া পদ্ধতির মধ্যে বেশিরভাগ হেরফের করেছি, তবে আমি ইদানীং নিজেকে অন্যরকম পদ্ধতি গ্রহণ করতে দেখেছি, এবং এটি খারাপ অভ্যাস থাকলে আমি আগ্রহী।
এখানে একটি উদাহরণ। ধরা যাক আমার কাছে একটি সংগ্রহশালা রয়েছে যা কোনও Userসত্তা গ্রহণ করে , কিন্তু সত্তা সন্নিবেশ করার আগে আমরা এর সমস্ত ক্ষেত্রগুলি আমরা যা চাই তা সেট করে আছে তা নিশ্চিত করার জন্য আমরা কয়েকটি পদ্ধতি কল করি। সন্নিবেশ পদ্ধতির মধ্যে থেকে পদ্ধতিগুলিতে কল করা এবং ক্ষেত্রের মানগুলি সেট করার পরিবর্তে, আমি একটি প্রস্তুতির পদ্ধতিগুলির একটি কল বলি যা সন্নিবেশের আগে অবজেক্টটিকে আকার দেয়।
পুরানো পদ্ধতি:
public void InsertUser(User user) {
user.Username = GenerateUsername(user);
user.Password = GeneratePassword(user);
context.Users.Add(user);
}
নতুন পদ্ধতি:
public void InsertUser(User user) {
SetUsername(user);
SetPassword(user);
context.Users.Add(user);
}
private void SetUsername(User user) {
var username = "random business logic";
user.Username = username;
}
private void SetPassword(User user) {
var password = "more business logic";
user.Password = password;
}
মূলত, অন্য পদ্ধতি থেকে কোনও সম্পত্তির মূল্য নির্ধারণের অভ্যাসটি কি খারাপ অভ্যাস?
userরেফারেন্স দিয়ে পাস করা হয়, কোডটি কলারের হাত থেকে এটি কুঁচকে যেতে পারে এবং কেবল, বলুন, বলার মাধ্যমে এটি প্রতিস্থাপন করতে পারে user = null;।