There are two specific areas of shared code functionality:
The Search and Browse code is shared between the two apps. There are some small differences in how these features are presented in the two apps, but the actual features are fully shared.
The Product Details page is shared, but with some differences. The CRS-IUA code presents the ability to compare products, and to add to wish lists and gift lists, while the Assisted Selling version offers fulfillment options. The Product Details Page is made up of a number of classes, and the general approach is that base classes exist in
ATGMobileClient
, and the top-level projects contain subclasses where product-specific features can be added.
Other Code Sharing
Assisted Selling and CRS-IUA share code in other areas. The ATG*Manager
classes used in CRS-IUA that are responsible for sending and receiving data to and from the server are re-used where possible. Assisted Selling has some unique Manager classes, but most of these are subclasses of Manager classes found in ATGMobileClient
used in CRS-IUA. These subclasses simply modify the actors being used, and in some cases introduce different caching rules. The subclasses may also add extra functionality in some cases, such as overriding the path to a REST service.