From 3f2c835a397bd4e037fa614a58c7e5993af4727d Mon Sep 17 00:00:00 2001 From: "farhanjk@gmail.com" Date: Wed, 1 Jan 2014 12:51:05 -0400 Subject: [PATCH] Criteria Pattern Completed --- README.md | 1 + structural/criteria/criteria_main | Bin 15496 -> 24280 bytes structural/criteria/criteria_main.f90 | 59 ++++++++++++--- structural/criteria/criteria_module.f90 | 94 ++++++++++++++++++++---- 4 files changed, 132 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 3832a20..4135831 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ Tested on: GNU Fortran (GCC) 4.8. - [X] Adapter - [X] Bridge - [X] Composite +- [X] Criteria - [ ] Decorator - [ ] Façade - [ ] Flyweight diff --git a/structural/criteria/criteria_main b/structural/criteria/criteria_main index 403fe4910de4e63301488b64b28daf28b513527d..9efbf5e16e00c68171fe3efa6140739ba431680b 100755 GIT binary patch literal 24280 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 literal 15496 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