Currently we're using some abstraction for enumeration of parsed items (projects, folders, dependencies, all others or most of this).
But v2 provides now analyzed map for some user modifications.
Basically,
Unlocking will give us more quick and convenient way for updating data. Because today's modifications mostly looks like extending its initial data, for example ~
var folders = new List<SolutionFolder>(sln.Result.SolutionFolders)
But to keep it clean, more probably we also need to provide some information about modified state if it was.
What about simply flag state via our wrapped collection ? where add/remove/or even changing value of available items will expose an dirty state after its initial parsing ?
Option 1
draft
Extract a common wrapper for existing enumerations.
This will provide an modified state after changing its collections.
Implement ICloneable interface to prevent shallow copying.
Something to reset or get the initial state of data.
Option 2
draft
Prepare intermediate wrapper for creating new write-handlers from result.
Currently we're using some abstraction for enumeration of parsed items (projects, folders, dependencies, all others or most of this).
But v2 provides now analyzed map for some user modifications.
Basically,
Unlocking will give us more quick and convenient way for updating data. Because today's modifications mostly looks like extending its initial data, for example ~
But to keep it clean, more probably we also need to provide some information about modified state if it was.
What about simply flag state via our wrapped collection ? where add/remove/or even changing value of available items will expose an dirty state after its initial parsing ?
Option 1
draft
modified
state after changing its collections.Option 2
draft
Please feedback before my some final decision!