wieslawsoltes/NodeEditor

setters on interfaces

Closed this issue · 1 comments

Most (all?) of the properties on the interfaces in NodeEditorAvalonia.Model have public setters.

Would it be possible to remove those setters, unless it is required for NodeEditor's operation?

For example:

  • I want my implementations of INodeTemplate to be immutable; it doesn't make sense to change the "Line" tool's name to "Circle"
  • I don't want public consumers of my IEditor to be able to add templates. I may, in my own internal model, have a method to add templates, but I don't want anyone to be able to do it.

I can implement the interface explicitly, and throw a NotSupportedException if someone calls the setters - but I would rather not do this.

Well those would be breaking changes and we have just released v11 as stable.