D
Dmitri Shvetsov
Hi All,
I post this message in three newsgroups, maybe somebody can say something
helpful.
The ASP.NET C# Web app consists of two parts - the Mobile part (PDA) and the
regular desktop browser (2000/XP) part. The business logic of both parts is
absolutely the same. I don't want to make a full copy of the business logic
in both parts but it seems to me that I don't have any choice. What's done
now. I created an initial page, this page is empty, it just detects the
remote browser version and redirects the program's flow to the required
part - for PDA browser or for 2k/XP browser.
I made both sets of pages almost in the same manner, the controls are
originally different, Mobile and Regular, but these controls are having the
same names and can be managed by the same business logic, thanks to VS for
this flexibility, I made a full copy of a business logic for both sets of
pages and it works.
I hate this solution. If I need to change something I need to change both
codes and keep in mind what code has already been changed and why.
If I could use the inheritance in this case it would be excellent, but I
can't, because VS doesn't support the video inheritance yet, maybe in
future, but nobody promised yet. I use a lot of controls in the logic and
can't make a root class because in this case all these controls will not be
visually inherited, and as I wrote above the origins of these controls are
different - Mobile and Regular.
I can't use #INCLUDE like in C++ to include the same parts of the source
codes. Why? I hate that in VS. Lazy programmers or what? Future versions?..
What I'm having now are almost same class files, excluding the
initialization parts that the Visual Studio generated for the different
controls.
What can I do to cut off the same code from two different places and maybe
to import it from some external file, one for two different class files?
It's terrible but I didn't see that the current version of VS can support
something like #INSERT or #IMPORT except for help files.
Please, help, any ideas will be appreciated.
Dmitri.
I post this message in three newsgroups, maybe somebody can say something
helpful.
The ASP.NET C# Web app consists of two parts - the Mobile part (PDA) and the
regular desktop browser (2000/XP) part. The business logic of both parts is
absolutely the same. I don't want to make a full copy of the business logic
in both parts but it seems to me that I don't have any choice. What's done
now. I created an initial page, this page is empty, it just detects the
remote browser version and redirects the program's flow to the required
part - for PDA browser or for 2k/XP browser.
I made both sets of pages almost in the same manner, the controls are
originally different, Mobile and Regular, but these controls are having the
same names and can be managed by the same business logic, thanks to VS for
this flexibility, I made a full copy of a business logic for both sets of
pages and it works.
I hate this solution. If I need to change something I need to change both
codes and keep in mind what code has already been changed and why.
If I could use the inheritance in this case it would be excellent, but I
can't, because VS doesn't support the video inheritance yet, maybe in
future, but nobody promised yet. I use a lot of controls in the logic and
can't make a root class because in this case all these controls will not be
visually inherited, and as I wrote above the origins of these controls are
different - Mobile and Regular.
I can't use #INCLUDE like in C++ to include the same parts of the source
codes. Why? I hate that in VS. Lazy programmers or what? Future versions?..
What I'm having now are almost same class files, excluding the
initialization parts that the Visual Studio generated for the different
controls.
What can I do to cut off the same code from two different places and maybe
to import it from some external file, one for two different class files?
It's terrible but I didn't see that the current version of VS can support
something like #INSERT or #IMPORT except for help files.
Please, help, any ideas will be appreciated.
Dmitri.