A few tips -
1) Choose your style that will work with the user interface - will it be stateless? If so, how are you going to handle events accordingly? If it is inactive, you may have to reevaluate the user interface user code twice to update events from the user side. If your user interface is stateful then you donβt have to worry about handling events, but it will limit your user interfaces when it comes to quick mutations and rearrangements.
2) Do not rely too much on OO; virtual methods are not the fastest thing in the world, so use them with caution; however, it may have some kind of inheritance structure. Beware of dynamic_cast and RTTI if you use objects; they will slow you down. Instead, configure the enum method, get_type () for each widget class, and perform manual immunity checks.
3) Try to separate the look and the logic / layout of the interface.
4) If you need dynamic windows, layouts, etc., you will have to handle alignment, clip, position, etc. and their updates. If you only need statically positioned widgets, this will simplify.
5) Do not overestimate, you will not benefit from this.
Actually there is nothing special that I will tell you; Any specific question may arise?
source share