Basket Business Logic Layer rewrite


https://forum.kartris.com/Topic3368.aspx
Print Topic | Close Window

By Tiggywiggler - Sun 28 Sep 2014
Kartris Team,

I understand you are wokring on the latest large revision which should be coming out in the near future. I remember seeing Paul say that it includes a lot of rewritten code.

I have been looking at the basket business logic layer for some time confident that it could do with a tear down and rebuild but I didn't want to start this process withouth knowing what you have in the pipeline. If you are planning this yourself then there is no point in me doing it myself.

Could you tell me what you plans are for BasketBLL.vb in the new version please?
By Paul - Mon 29 Sep 2014
We don't have any major plans to rewrite any of the BLL, including the basket BLL. Are there particular parts you were going to rewrite? The BLL got pretty complex as there are a lot of things that need to be supported, so need to be careful that any simplification does not overlook the reasons for some of the code in there.
By Tiggywiggler - Tue 30 Sep 2014
Paul,

I totally understand your concern about how much is in there and how much needs to be supported. It is a very complex BLL and there is a lot there but I think that much of it can be rewritten.

The approach I would be taking is not to redo things that are already done but there are several things that I think should be done in the BLL that have to be done in the presentation layer. This includes calculations for tax and aggregation functions. These can be abstracted into the BLL so that the presentation layer is easier to work with.

I would also move the item objects out of the BLL into their own classes such as BasketItem. I can understand why they are there, but the BLL is over 3,500 lines of code so a bit of refractoring would not hurt.

I would also look to make it a static class and put the basket object collections into their own object, this way you would not need to instanciate the class everytime you use it (e.g dim Bskt as New BasketBLL).