cancel
Showing results for 
Search instead for 
Did you mean: 

Design Principals on Objects

DexterWhelan1
Level 4
Hi All, I am putting out a question to all as to what they believe the pros and cons are of building objects in certain ways. I am following the best practice approach of Blueprism to have multiple objects per application however however the team I am working with follow an approach of having one object to cover all possible actions to take for an application. I don't agree with this approach on the grounds that I feel its unmaintainable and it doesn't follow best practices. I don't have much else to go on besides this as any other place that I worked in followed best practices already so I never was presented with an opportunity to challenge it. Can anyone offer info or personal experience on how they implement Object design and the pros cons of why? I would like to be able to approach this subject better armed than just being able to say "it allows more devs to work on it at once", "its best practice" or that "one big object only allows one person to work on it at once". Thanks -D
1 REPLY 1

Denis__Dennehy
Level 15
There are very good reasons for Blue Prism multi-object approach, so if I was asked to sign off a solution design or release that had not been created in that way I would refuse. A single large object has two main negatives: 1. It massively increases the risk of future change. If one screen changes in an application the massive object that contains everything needs to be amended and migrated into production. That should mean that everything that uses the object is regression tested - which will be massive if there is one object. It also increases the risk that other chagnes to other actions are inadvertantly being migrated into production. Smaller objects negate much of those risks - you make the change to an object that just contains the small part of the application that is being changed and can retro-test just the processes that use it rather than everything. 2. The user locking mechanism in Blue Prism is at object level. So if there are extensive interfaces to be built for just one appliction you either have a big bottleneck, where one developer creates everything or a really terrible headache stitching together mulitiple develoeprs work into the one object. Multiple objects allow for multipe developers to work concurrently on different parts of the applcition.