Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Architecture Thread #14

Open
maxholloway opened this issue Jul 1, 2020 · 2 comments
Open

Architecture Thread #14

maxholloway opened this issue Jul 1, 2020 · 2 comments
Labels
apiclarity Make API more clear julia? question Further information is requested wontfix This will not be worked on

Comments

@maxholloway
Copy link
Owner

Architecture Thread

Summary

This is a compilation of thoughts on project architecture design. What are different ways that we can structure this? What would make future development the easiest? What would make the API the clearest?

@maxholloway maxholloway added question Further information is requested julia? apiclarity Make API more clear labels Jul 1, 2020
@maxholloway
Copy link
Owner Author

maxholloway commented Jul 1, 2020

What if we pursued a structure that looked something like this?

module Backtest

module Types

module InternalTypes
# encoding all non-API types
end # module

# encoding for all API types 
end # module

module Internals
# code for all non-API functions
end # module

# code for all API functions

end # module

The major benefit is that it can very clearly separate the interface from the implementation, addressing #3 .

@maxholloway
Copy link
Owner Author

It may be a good idea to get rid of StrategyOptions and instead move those arguments to run. I don't see a point in having the StrategyOptions layer of abstraction, since we can just perform behavior from within run that processes the StrategyOptions args.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apiclarity Make API more clear julia? question Further information is requested wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant