-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Replace wrappers with proxies (#205)
The conception of wrappers was that an instance of a type could be wrapped and the serialize/deserialize implementation would be placed on the wrapper. Unfortunately the fact that deserialize requires a static method and serialize does not makes the two significantly different in implementation. There are also performance issues with relying on static interfaces. The new model is structured around "proxy objects" which implement the driving interfaces, which are now all regular instance methods. A proxy object can be acquired throught ISerializeProvider and IDeserializeProvider, which are interfaces with static methods. All user types now implement ISerializeProvider/IDeserializeProvider and generate private proxy objects. A user can write the same implementations manually and achieve the same results. Attributes for wrappers have also been renamed to "proxy."
- Loading branch information
Showing
328 changed files
with
6,858 additions
and
5,286 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.