former for design filter mønster

, filter, mønster eller kriterier - er en bestemt mønster, der gør det muligt for udviklere til filtrering af en række genstande ved hjælp af forskellige kriterier, og at lænke dem i et afkoblet gennem logiske operationer.denne type af design - kommer under strukturelle mønster, som dette mønster kombinerer flere kriterier for at opnå fælles kriterier, gennemførelse, vil vi skabe en, personer, genstande, kriterier, grænseflader og konkrete klasse at gennemføre denne grænseflade til at filtrere liste af personer, genstande., criteriapatterndemo, vores demo klasse anvendelser, kriterier, som filter liste af personer, genstande, som er baseret på forskellige kriterier og kombinationer heraf,.,, trin 1, skabe en klasse om, hvilke kriterier der skal anvendes.,,, - offentlige klasse person (private snor navn; private snor køn; private - maritalstatus; offentlig person (snor navn, snor, køn, snor maritalstatus) (this.name = navn; this.gender = køn; this.maritalstatus = maritalstatus;} offentlige snor getname() {navn} offentlige snor tilbage; getgender() {tilbage køn;} offentlige snor getmaritalstatus() {tilbage maritalstatus;}}, trin 2, skabe en grænseflade til kriterier., java, import, kriterier.java.util.list; offentlig grænseflade kriterier (offentlig liste < person > meetcriteria (liste < person > personer);}, trin 3, skabe konkrete klasser af kriterier, grænseflade,.,, criteriamale -, import java.util.arraylist; import java.util.list; offentlige klasse criteriamale gennemfører kriterier (@ - offentlig liste < person > meetcriteria (liste < person > personer) (liste < person > malepersons = nye arraylist < person > () til (den pågældende person: personer) (hvis (person. getgender(). equalsignorecase ("mand".) (malepersons. der tilsættes (person)}} tilbage malepersons;}},, criteriafemale -, import java.util.arraylist; import java.util.list; offentlige klassecriteriafemale gennemfører kriterier (@ tilsidesætte offentlig liste < person > meetcriteria (liste < person > personer) (liste < person > femalepersons = nye arraylist < person > () til (den pågældende person: personer) (hvis (person. getgender(). equalsignorecase ("kvindelige") (femalepersons. der tilsættes (person)}} tilbage femalepersons;}},, criteriasingle -, import java.util.arraylist; import java.util.list; offentlige klasse criteriasingle gennemfører kriterier (@ tilsidesætte offentlig liste < person > meetcriteria (liste < person > personer) (liste < person > singlepersons = nye arraylist < person > () til (den pågældende person: personer) (hvis (person.getmaritalstatus(). equalsignorecase ("fælles") (singlepersons. der tilsættes (person)}} tilbage singlepersons;}},, andcriteria -, import java.util.list; offentlige klasse andcriteria gennemfører kriterier (private kriterier kriterier; private kriterier othercriteria; offentlige andcriteria (kriterier kriterier, kriterier, othercriteria) (this.criteria = kriterier; this.othercriteria = othercriteria;} @ tilsidesætte offentlig liste < person > meetcriteria (liste < person > personer) (liste < person > firstcriteriapersons = kriterier. meetcriteria (personer) og vende tilbage othercriteria. meetcriteria (firstcriteriapersons)}}, kriterier -, import java.util.list; offentlige klasse orcriterien gennemfører kriterier (private kriterier kriterier; private kriterier othercriteria; offentlige kriterier (kriterier kriterier, kriterier, othercriteria) (this.criteria = kriterier; this.othercriteria = othercriteria;} @ tilsidesætte offentlig liste < person > meetcriteria (liste < person > personer) (liste < person > firstcriteriaitems = kriterier. meetcriteria (personer); listen < person > othercriteriaitems = othercriteria. meetcriteria (personer); for (den pågældende person: othercriteriaitems) (hvis (!firstCriteriaItems.contains(person)){ firstCriteriaItems.add(person); } }\t return firstCriteriaItems; } } ,Step4, ,Use different Criteria and their combination to filter out persons.,,CriteriaPatternDemo.java,, public class CriteriaPatternDemo { public static void main(String[] args) { List<Person> persons = new ArrayList<Person>(); persons.add(new Person("Robert","Male", "Single")); persons.add(new Person("John", "Male", "Married")); persons.add(new Person("Laura", "Female", "Married")); persons.add(new Person("Diana", "Female", "Single")); persons.add(new Person("Mike", "Male", "Single")); persons.add(new Person("Bobby", "Male", "Single")); kriterier mandlige = nye criteriamale(); kriterierne kvindelige = nye criteriafemale(); kriterierne fælles = nye criteriasingle(); kriterierne singlemale = nye andcriteria (mænd) og kriterier singleorfemale = nye kriterier (single kvinder); system. println ("mænd"); printpersons (mand. meetcriteria (personer). ud. println (") nfemales:"); printpersons (kvindelige. meetcriteria (personer) system. println (") nsingle hanner:"); printpersons (singlemale. meetcriteria (personer) system. println (") nsingle eller hundyr:"); printpersons (singleorfemale. meetcriteria (personer)} offentlige statisk tomrum printpersons (liste < person > personer) (for (den pågældende person: persons) (system. println ("person: [navn:" + person. getname() + "køn:" + person. getgender() + ", ægteskabelig status:" + person. getmaritalstatus() + "]");}}}, løntrin 5, kontrollere produktionen. mænd: person, - navn: robert, køn: mand, ægteskabelig status: fælles] person: [navn: john, køn: mand, ægteskabelig status: gift] person: [navn: mike, køn: mand, ægteskabelig status: fælles] person: [navn: bobby, køn: mand, ægteskabelig status: fælles] kvinder: person, [navn: laura, køn: kvinder, ægteskabelig status: gift] person: [navn: diana, køn: kvinder, ægteskabelig status: fælles] fælles hanner: person: [navn: robert, køn: mand, ægteskabelig status: fælles] [navn: mike person:køn: mand, ægteskabelig status: fælles] person: [navn: bobby, køn: mand, ægteskabelig status: fælles] fælles eller hundyr: person: [navn: robert, køn: mand, ægteskabelig status: fælles] person: [navn: diana, køn: kvinder, ægteskabelig status: fælles] person: navn: mike, køn: mand, ægteskabelig status: fælles] person: [navn: bobby, køn: mand, ægteskabelig status: fælles] person: [navn: laura, køn: kvinder, ægteskabelig status: gift]

Filter Pattern UML Diagram



Previous:
Next Page: