├── .gitignore ├── Chapter02 ├── Calculator │ ├── LICENSE │ ├── Manifest.toml │ ├── Project.toml │ ├── README.md │ ├── REQUIRE │ ├── src │ │ └── Calculator.jl │ └── test │ │ └── runtests.jl ├── Rater │ ├── .gitignore │ ├── LICENSE │ ├── Project.toml │ ├── README.md │ ├── src │ │ └── Rater.jl │ └── test │ │ └── runtests.jl ├── abstract_types.jl ├── concrete_types.jl ├── conversion.jl ├── parametric_types.jl ├── subtypetree.jl ├── subtypetree2.jl ├── type_operators.jl └── union_types.jl ├── Chapter03 ├── 1_functions.jl ├── 2_multiple_dispatch.jl ├── 3_parametric_methods.jl ├── 4_interface.jl ├── FighterJets │ ├── Project.toml │ └── src │ │ └── FighterJets.jl ├── Vehicle │ ├── Project.toml │ └── src │ │ └── Vehicle.jl ├── zzz_functor.jl └── zzz_misc.jl ├── Chapter04 ├── 0_intro.jl ├── 1_expr.jl ├── 2_macro.jl ├── 3_generated.jl ├── Manifest.toml ├── Project.toml └── swap.c ├── Chapter05 ├── DelegationPattern │ ├── Manifest.toml │ ├── Project.toml │ ├── misc │ │ └── OffsetArrayExample.jl │ ├── src │ │ ├── Account.jl │ │ ├── DelegationPattern.jl │ │ ├── SavingsAccount.jl │ │ └── SavingsAccount2.jl │ └── test │ │ ├── funcs.jl │ │ └── runtests.jl ├── HolyTraitPattern │ ├── Manifest.toml │ ├── Project.toml │ ├── misc │ │ └── SimpleTraitsExample.jl │ ├── src │ │ ├── HolyTraitPattern.jl │ │ ├── asset_types.jl │ │ ├── literature.jl │ │ └── traits.jl │ └── test │ │ ├── funcs.jl │ │ └── runtests.jl └── ParametricTypePattern │ ├── 1_trading.jl │ ├── 2_named_dims.jl │ ├── Manifest.toml │ └── Project.toml ├── Chapter06 ├── BarrierFunctionPattern │ ├── 1_intro_type_instability.jl │ ├── 2_barrier_function.jl │ ├── 3_more_type_unstable_cases.jl │ ├── 4_inferred_macro.jl │ ├── Manifest.toml │ └── Project.toml ├── GlobalConstantPattern │ ├── 1_global_const_vs_var.jl │ ├── 2_constant_folding.jl │ ├── 3_passing_global_variable.jl │ ├── 4_semi_constant.jl │ └── 5_material_or_not.jl ├── MemoizationPattern │ ├── 1_fib.jl │ ├── 2_memoize.jl │ ├── 3_multiple_args.jl │ ├── 4_mut_and_hash.jl │ ├── 5_memoize_pkg.jl │ ├── Manifest.toml │ ├── Project.toml │ ├── README.md │ └── dict.jl ├── SharedArrayPattern │ ├── 1_load_data.jl │ ├── 2_analysis.jl │ ├── 3_heavier.jl │ ├── 4_settings.jl │ ├── 5_bitstype.jl │ ├── Manifest.toml │ ├── Project.toml │ └── z_multithreading.jl └── StructOfArraysPattern │ ├── 1_array_of_structs.jl │ ├── 2_struct_of_arrays.jl │ ├── 3_struct_arrays.jl │ ├── 4_nested_struct.jl │ ├── 9_padding.jl │ ├── Manifest.toml │ ├── Project.toml │ └── yellow_tripdata_2018-12_100k.csv ├── Chapter07 ├── CodeGen │ ├── Manifest.toml │ ├── Project.toml │ └── logger.jl ├── KeywordDef │ └── kwdef.jl ├── LSystem │ ├── Manifest.toml │ ├── Project.toml │ ├── README.md │ ├── src │ │ └── LSystem.jl │ └── test │ │ ├── repl.jl │ │ └── runtests.jl └── SubModule │ ├── Calculator.jl │ ├── Mortgage.jl │ └── funcs.jl ├── Chapter08 ├── Accessors │ ├── Manifest.toml │ ├── Project.toml │ └── getter_setter.jl ├── ExceptionHandling │ ├── 1_top_level.jl │ ├── 2_stack_frames.jl │ ├── 3_try_catch_perf.jl │ ├── 4_retry.jl │ └── 5_nothing.jl ├── LetBlock │ ├── 1_webcrawler.jl │ ├── 2_longfunc.jl │ ├── Manifest.toml │ └── Project.toml └── Property │ ├── 1_filecontent.jl │ └── 2_returncopy.jl ├── Chapter09 ├── CreditApproval │ ├── .gitignore │ ├── LICENSE │ ├── Project.toml │ ├── README.md │ ├── src │ │ └── CreditApproval.jl │ └── test │ │ └── runtests.jl ├── CreditApprovalMockingStub │ ├── .gitignore │ ├── LICENSE │ ├── Project.toml │ ├── README.md │ ├── src │ │ └── CreditApprovalMockingStub.jl │ └── test │ │ └── runtests.jl ├── CreditApprovalStub │ ├── .gitignore │ ├── LICENSE │ ├── Project.toml │ ├── README.md │ ├── src │ │ └── CreditApprovalStub.jl │ └── test │ │ └── runtests.jl ├── HackerNewsAnalysis │ ├── .gitignore │ ├── LICENSE │ ├── Project.toml │ ├── README.md │ ├── repl │ │ ├── 1_hackernews.jl │ │ ├── 2_piping.jl │ │ ├── 3_composability.jl │ │ ├── 4_hn_pipe.jl │ │ └── 5_broadcasting.jl │ ├── src │ │ └── HackerNewsAnalysis.jl │ └── test │ │ └── runtests.jl └── SingletonTypes │ └── val.jl ├── Chapter10 ├── 1_type_piracy.jl ├── 2_narrow_args.jl └── 3_non_concrete_fields.jl ├── Chapter11 ├── 01_factory.jl ├── 02_abstractfactory.jl ├── 03_singleton.jl ├── 04_builder.jl ├── 05_prototype.jl ├── 06_chain.jl ├── 07_mediator.jl ├── 08_memento.jl ├── 09_observer.jl ├── 10_state.jl ├── 11_strategy.jl ├── 12_templatemethod.jl ├── 13_adapter.jl ├── 14_composite.jl ├── Manifest.toml └── Project.toml ├── Chapter12 ├── 1_subtyping.jl ├── 2_variance.jl ├── 3_parametric.jl ├── Bag.java ├── Bag1.java ├── Bag2.java ├── CountingBag.java ├── README.md └── run_counting_bag.jl ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/.gitignore -------------------------------------------------------------------------------- /Chapter02/Calculator/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Calculator/LICENSE -------------------------------------------------------------------------------- /Chapter02/Calculator/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Calculator/Manifest.toml -------------------------------------------------------------------------------- /Chapter02/Calculator/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Calculator/Project.toml -------------------------------------------------------------------------------- /Chapter02/Calculator/README.md: -------------------------------------------------------------------------------- 1 | # Calculator 2 | -------------------------------------------------------------------------------- /Chapter02/Calculator/REQUIRE: -------------------------------------------------------------------------------- 1 | julia 1.1 2 | -------------------------------------------------------------------------------- /Chapter02/Calculator/src/Calculator.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Calculator/src/Calculator.jl -------------------------------------------------------------------------------- /Chapter02/Calculator/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Calculator/test/runtests.jl -------------------------------------------------------------------------------- /Chapter02/Rater/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /Manifest.toml 3 | /dev/ 4 | -------------------------------------------------------------------------------- /Chapter02/Rater/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Rater/LICENSE -------------------------------------------------------------------------------- /Chapter02/Rater/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Rater/Project.toml -------------------------------------------------------------------------------- /Chapter02/Rater/README.md: -------------------------------------------------------------------------------- 1 | # Rater 2 | -------------------------------------------------------------------------------- /Chapter02/Rater/src/Rater.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Rater/src/Rater.jl -------------------------------------------------------------------------------- /Chapter02/Rater/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/Rater/test/runtests.jl -------------------------------------------------------------------------------- /Chapter02/abstract_types.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/abstract_types.jl -------------------------------------------------------------------------------- /Chapter02/concrete_types.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/concrete_types.jl -------------------------------------------------------------------------------- /Chapter02/conversion.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/conversion.jl -------------------------------------------------------------------------------- /Chapter02/parametric_types.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/parametric_types.jl -------------------------------------------------------------------------------- /Chapter02/subtypetree.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/subtypetree.jl -------------------------------------------------------------------------------- /Chapter02/subtypetree2.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/subtypetree2.jl -------------------------------------------------------------------------------- /Chapter02/type_operators.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/type_operators.jl -------------------------------------------------------------------------------- /Chapter02/union_types.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter02/union_types.jl -------------------------------------------------------------------------------- /Chapter03/1_functions.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/1_functions.jl -------------------------------------------------------------------------------- /Chapter03/2_multiple_dispatch.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/2_multiple_dispatch.jl -------------------------------------------------------------------------------- /Chapter03/3_parametric_methods.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/3_parametric_methods.jl -------------------------------------------------------------------------------- /Chapter03/4_interface.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/4_interface.jl -------------------------------------------------------------------------------- /Chapter03/FighterJets/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/FighterJets/Project.toml -------------------------------------------------------------------------------- /Chapter03/FighterJets/src/FighterJets.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/FighterJets/src/FighterJets.jl -------------------------------------------------------------------------------- /Chapter03/Vehicle/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/Vehicle/Project.toml -------------------------------------------------------------------------------- /Chapter03/Vehicle/src/Vehicle.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/Vehicle/src/Vehicle.jl -------------------------------------------------------------------------------- /Chapter03/zzz_functor.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/zzz_functor.jl -------------------------------------------------------------------------------- /Chapter03/zzz_misc.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter03/zzz_misc.jl -------------------------------------------------------------------------------- /Chapter04/0_intro.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/0_intro.jl -------------------------------------------------------------------------------- /Chapter04/1_expr.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/1_expr.jl -------------------------------------------------------------------------------- /Chapter04/2_macro.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/2_macro.jl -------------------------------------------------------------------------------- /Chapter04/3_generated.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/3_generated.jl -------------------------------------------------------------------------------- /Chapter04/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/Manifest.toml -------------------------------------------------------------------------------- /Chapter04/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/Project.toml -------------------------------------------------------------------------------- /Chapter04/swap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter04/swap.c -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/Project.toml -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/misc/OffsetArrayExample.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/misc/OffsetArrayExample.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/src/Account.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/src/Account.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/src/DelegationPattern.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/src/DelegationPattern.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/src/SavingsAccount.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/src/SavingsAccount.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/src/SavingsAccount2.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/src/SavingsAccount2.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/test/funcs.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/test/funcs.jl -------------------------------------------------------------------------------- /Chapter05/DelegationPattern/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/DelegationPattern/test/runtests.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/Project.toml -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/misc/SimpleTraitsExample.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/misc/SimpleTraitsExample.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/src/HolyTraitPattern.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/src/HolyTraitPattern.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/src/asset_types.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/src/asset_types.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/src/literature.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/src/literature.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/src/traits.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/src/traits.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/test/funcs.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/test/funcs.jl -------------------------------------------------------------------------------- /Chapter05/HolyTraitPattern/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/HolyTraitPattern/test/runtests.jl -------------------------------------------------------------------------------- /Chapter05/ParametricTypePattern/1_trading.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/ParametricTypePattern/1_trading.jl -------------------------------------------------------------------------------- /Chapter05/ParametricTypePattern/2_named_dims.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/ParametricTypePattern/2_named_dims.jl -------------------------------------------------------------------------------- /Chapter05/ParametricTypePattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/ParametricTypePattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter05/ParametricTypePattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter05/ParametricTypePattern/Project.toml -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/1_intro_type_instability.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/BarrierFunctionPattern/1_intro_type_instability.jl -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/2_barrier_function.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/BarrierFunctionPattern/2_barrier_function.jl -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/3_more_type_unstable_cases.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/BarrierFunctionPattern/3_more_type_unstable_cases.jl -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/4_inferred_macro.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/BarrierFunctionPattern/4_inferred_macro.jl -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/BarrierFunctionPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter06/BarrierFunctionPattern/Project.toml: -------------------------------------------------------------------------------- 1 | [deps] 2 | BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" 3 | -------------------------------------------------------------------------------- /Chapter06/GlobalConstantPattern/1_global_const_vs_var.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/GlobalConstantPattern/1_global_const_vs_var.jl -------------------------------------------------------------------------------- /Chapter06/GlobalConstantPattern/2_constant_folding.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/GlobalConstantPattern/2_constant_folding.jl -------------------------------------------------------------------------------- /Chapter06/GlobalConstantPattern/3_passing_global_variable.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/GlobalConstantPattern/3_passing_global_variable.jl -------------------------------------------------------------------------------- /Chapter06/GlobalConstantPattern/4_semi_constant.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/GlobalConstantPattern/4_semi_constant.jl -------------------------------------------------------------------------------- /Chapter06/GlobalConstantPattern/5_material_or_not.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/GlobalConstantPattern/5_material_or_not.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/1_fib.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/1_fib.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/2_memoize.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/2_memoize.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/3_multiple_args.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/3_multiple_args.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/4_mut_and_hash.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/4_mut_and_hash.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/5_memoize_pkg.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/5_memoize_pkg.jl -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/Project.toml -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/README.md -------------------------------------------------------------------------------- /Chapter06/MemoizationPattern/dict.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/MemoizationPattern/dict.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/1_load_data.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/1_load_data.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/2_analysis.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/2_analysis.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/3_heavier.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/3_heavier.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/4_settings.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/4_settings.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/5_bitstype.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/5_bitstype.jl -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/Project.toml -------------------------------------------------------------------------------- /Chapter06/SharedArrayPattern/z_multithreading.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/SharedArrayPattern/z_multithreading.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/1_array_of_structs.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/1_array_of_structs.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/2_struct_of_arrays.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/2_struct_of_arrays.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/3_struct_arrays.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/3_struct_arrays.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/4_nested_struct.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/4_nested_struct.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/9_padding.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/9_padding.jl -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/Manifest.toml -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/Project.toml -------------------------------------------------------------------------------- /Chapter06/StructOfArraysPattern/yellow_tripdata_2018-12_100k.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter06/StructOfArraysPattern/yellow_tripdata_2018-12_100k.csv -------------------------------------------------------------------------------- /Chapter07/CodeGen/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/CodeGen/Manifest.toml -------------------------------------------------------------------------------- /Chapter07/CodeGen/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/CodeGen/Project.toml -------------------------------------------------------------------------------- /Chapter07/CodeGen/logger.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/CodeGen/logger.jl -------------------------------------------------------------------------------- /Chapter07/KeywordDef/kwdef.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/KeywordDef/kwdef.jl -------------------------------------------------------------------------------- /Chapter07/LSystem/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/Manifest.toml -------------------------------------------------------------------------------- /Chapter07/LSystem/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/Project.toml -------------------------------------------------------------------------------- /Chapter07/LSystem/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/README.md -------------------------------------------------------------------------------- /Chapter07/LSystem/src/LSystem.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/src/LSystem.jl -------------------------------------------------------------------------------- /Chapter07/LSystem/test/repl.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/test/repl.jl -------------------------------------------------------------------------------- /Chapter07/LSystem/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/LSystem/test/runtests.jl -------------------------------------------------------------------------------- /Chapter07/SubModule/Calculator.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/SubModule/Calculator.jl -------------------------------------------------------------------------------- /Chapter07/SubModule/Mortgage.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/SubModule/Mortgage.jl -------------------------------------------------------------------------------- /Chapter07/SubModule/funcs.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter07/SubModule/funcs.jl -------------------------------------------------------------------------------- /Chapter08/Accessors/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/Accessors/Manifest.toml -------------------------------------------------------------------------------- /Chapter08/Accessors/Project.toml: -------------------------------------------------------------------------------- 1 | [deps] 2 | Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" 3 | -------------------------------------------------------------------------------- /Chapter08/Accessors/getter_setter.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/Accessors/getter_setter.jl -------------------------------------------------------------------------------- /Chapter08/ExceptionHandling/1_top_level.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/ExceptionHandling/1_top_level.jl -------------------------------------------------------------------------------- /Chapter08/ExceptionHandling/2_stack_frames.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/ExceptionHandling/2_stack_frames.jl -------------------------------------------------------------------------------- /Chapter08/ExceptionHandling/3_try_catch_perf.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/ExceptionHandling/3_try_catch_perf.jl -------------------------------------------------------------------------------- /Chapter08/ExceptionHandling/4_retry.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/ExceptionHandling/4_retry.jl -------------------------------------------------------------------------------- /Chapter08/ExceptionHandling/5_nothing.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/ExceptionHandling/5_nothing.jl -------------------------------------------------------------------------------- /Chapter08/LetBlock/1_webcrawler.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/LetBlock/1_webcrawler.jl -------------------------------------------------------------------------------- /Chapter08/LetBlock/2_longfunc.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/LetBlock/2_longfunc.jl -------------------------------------------------------------------------------- /Chapter08/LetBlock/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/LetBlock/Manifest.toml -------------------------------------------------------------------------------- /Chapter08/LetBlock/Project.toml: -------------------------------------------------------------------------------- 1 | [deps] 2 | Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" 3 | -------------------------------------------------------------------------------- /Chapter08/Property/1_filecontent.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/Property/1_filecontent.jl -------------------------------------------------------------------------------- /Chapter08/Property/2_returncopy.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter08/Property/2_returncopy.jl -------------------------------------------------------------------------------- /Chapter09/CreditApproval/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /Manifest.toml 3 | /dev/ 4 | -------------------------------------------------------------------------------- /Chapter09/CreditApproval/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApproval/LICENSE -------------------------------------------------------------------------------- /Chapter09/CreditApproval/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApproval/Project.toml -------------------------------------------------------------------------------- /Chapter09/CreditApproval/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApproval/README.md -------------------------------------------------------------------------------- /Chapter09/CreditApproval/src/CreditApproval.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApproval/src/CreditApproval.jl -------------------------------------------------------------------------------- /Chapter09/CreditApproval/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApproval/test/runtests.jl -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /Manifest.toml 3 | /dev/ 4 | -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalMockingStub/LICENSE -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalMockingStub/Project.toml -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalMockingStub/README.md -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/src/CreditApprovalMockingStub.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalMockingStub/src/CreditApprovalMockingStub.jl -------------------------------------------------------------------------------- /Chapter09/CreditApprovalMockingStub/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalMockingStub/test/runtests.jl -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /Manifest.toml 3 | /dev/ 4 | -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalStub/LICENSE -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalStub/Project.toml -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/README.md: -------------------------------------------------------------------------------- 1 | # CreditApprovalStub 2 | 3 | This package demonstrates how to implement stubs. 4 | -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/src/CreditApprovalStub.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalStub/src/CreditApprovalStub.jl -------------------------------------------------------------------------------- /Chapter09/CreditApprovalStub/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/CreditApprovalStub/test/runtests.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /Manifest.toml 3 | /dev/ 4 | -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/LICENSE -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/Project.toml -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/README.md -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/repl/1_hackernews.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/repl/1_hackernews.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/repl/2_piping.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/repl/2_piping.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/repl/3_composability.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/repl/3_composability.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/repl/4_hn_pipe.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/repl/4_hn_pipe.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/repl/5_broadcasting.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/repl/5_broadcasting.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/src/HackerNewsAnalysis.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/src/HackerNewsAnalysis.jl -------------------------------------------------------------------------------- /Chapter09/HackerNewsAnalysis/test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/HackerNewsAnalysis/test/runtests.jl -------------------------------------------------------------------------------- /Chapter09/SingletonTypes/val.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter09/SingletonTypes/val.jl -------------------------------------------------------------------------------- /Chapter10/1_type_piracy.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter10/1_type_piracy.jl -------------------------------------------------------------------------------- /Chapter10/2_narrow_args.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter10/2_narrow_args.jl -------------------------------------------------------------------------------- /Chapter10/3_non_concrete_fields.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter10/3_non_concrete_fields.jl -------------------------------------------------------------------------------- /Chapter11/01_factory.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/01_factory.jl -------------------------------------------------------------------------------- /Chapter11/02_abstractfactory.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/02_abstractfactory.jl -------------------------------------------------------------------------------- /Chapter11/03_singleton.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/03_singleton.jl -------------------------------------------------------------------------------- /Chapter11/04_builder.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/04_builder.jl -------------------------------------------------------------------------------- /Chapter11/05_prototype.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/05_prototype.jl -------------------------------------------------------------------------------- /Chapter11/06_chain.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/06_chain.jl -------------------------------------------------------------------------------- /Chapter11/07_mediator.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/07_mediator.jl -------------------------------------------------------------------------------- /Chapter11/08_memento.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/08_memento.jl -------------------------------------------------------------------------------- /Chapter11/09_observer.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/09_observer.jl -------------------------------------------------------------------------------- /Chapter11/10_state.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/10_state.jl -------------------------------------------------------------------------------- /Chapter11/11_strategy.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/11_strategy.jl -------------------------------------------------------------------------------- /Chapter11/12_templatemethod.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/12_templatemethod.jl -------------------------------------------------------------------------------- /Chapter11/13_adapter.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/13_adapter.jl -------------------------------------------------------------------------------- /Chapter11/14_composite.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/14_composite.jl -------------------------------------------------------------------------------- /Chapter11/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/Manifest.toml -------------------------------------------------------------------------------- /Chapter11/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter11/Project.toml -------------------------------------------------------------------------------- /Chapter12/1_subtyping.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/1_subtyping.jl -------------------------------------------------------------------------------- /Chapter12/2_variance.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/2_variance.jl -------------------------------------------------------------------------------- /Chapter12/3_parametric.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/3_parametric.jl -------------------------------------------------------------------------------- /Chapter12/Bag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/Bag.java -------------------------------------------------------------------------------- /Chapter12/Bag1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/Bag1.java -------------------------------------------------------------------------------- /Chapter12/Bag2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/Bag2.java -------------------------------------------------------------------------------- /Chapter12/CountingBag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/CountingBag.java -------------------------------------------------------------------------------- /Chapter12/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/README.md -------------------------------------------------------------------------------- /Chapter12/run_counting_bag.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/Chapter12/run_counting_bag.jl -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Hands-on-Design-Patterns-and-Best-Practices-with-Julia/HEAD/README.md --------------------------------------------------------------------------------