c# - create an instance of a manager class -
let's have class customermanager lot of methods interact dal.customermanager. there lot's of mehods not interact dal.customermanager class.
should instantiate _dalcustomermanager class code below?
public class customermanager { private dal.customermanager _dalcustomermanager = new dal.customermanager(); public void deletecustomer(int customerid) { // .. logic here ... _dalcustomermanager.deletecustomer(customerid); } }
or better solution because don't instance of _dalcustomermanger , when access dalcustomermanager property creates new instance of when it's null ?
public class customermanager { private dal.customermanager _dalcustomermanager; private dal.customermanager dalcustomermanager { { return _dalcustomermanager ?? (_dalcustomermanager = new dal.customermanager()); } } public void deletecustomer(int customerid) { // .. logic here ... dalcustomermanager.deletecustomer(customerid); } }
this matter of taste. unless dal.customermanager()
has extensive constructor (like allocating lot of classes, doing time consuming work) doesn't matter.
this link might find useful (about micro optimization in general) : http://blog.codinghorror.com/the-sad-tragedy-of-micro-optimization-theater/
also i'd point out lazy loading of dal.customermanager
in code not thread safe:
private dal.customermanager dalcustomermanager { { // if 2 threads calling you'll allocate 2 instances. return _dalcustomermanager ?? (_dalcustomermanager = new dal.customermanager()); } }
Comments
Post a Comment