首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
data编程代写、代做Java设计程序
项目预算:
开发周期:
发布时间:
要求地区:
Your class project is the delivery of an executable software system that makes use of:
1. At least FOUR design patterns; and
2. At least SIX EIP patterns (you may not count the EIPs in RED in the list below in your count of six, as you will all be using these EIPs of
necessity by simply using ActiveMQ messaging).
To refresh your memory, here are the patterns we have (or will) cover during class or which are assigned as reading (with the lecture in which
they are assigned):
Design Pattern/Architectural Pattern Lecture Reading Assigned Enterprise Integration Pattern
Singleton 1 Message Broker
Template Method 2 Message
Composite 2 Message Endpoint
Strategy 2 Request-Reply
Iterator 2 Message Channel
Class Adapter 3 Point-to-Point Channel
Object Adapter 3 Publish-Subscribe Channel
Mediator 3 Polling Consumer
Observer 3 Event-Driven Consumer
State 4 Splitter
Prototype 4 Aggregator
Proxy 4 Message Router
Facade 5 Content-Based Router
Layers 5 Message Translator
Builder 5 Message Filter
Abstract Factory 6 Invalid Message Channel
Factory Method 6 Datatype Channel
Chain of Responsibility 6 Channel Adapter
Command 7 Messaging Gateway
Interpreter 7 Competing Consumer
Bridge 7 Selective Consumer
Visitor 8 Dynamic Router
Decorator 8 Correlation Identifier
Flyweight 8 Dead Letter Channel
Memento 8 Message Dispatcher
Pipes & Filters
NOTE you are NOT limited to the EIPs listed above right. You may choose any of the EIP patterns listed in the link below (with the exception
of the Message Broker, Message Endpoint, Message, Pipes & Filters, and Channel noted above):
The 65 Enterprise Integration Patterns Listing Enterprise Integration Pattern
NOTE likewise,, you are NOT limited to the Design Patterns listed above left. You may choose any of the Design Patterns listed here:
The 23 Gang of Four Design Patterns
You should produce a project proposal for review by me by 11:00 pm, April 29th, 2024. You are welcome to propose your project earlier than
that date. The project proposal will specify a particular business or scientific problem that you are solving, and will list the patterns involved in
your proposed solution to the problem, with a brief discussion of how these patterns participate in an intelligent solution to the original
problem. You are free to change your mind, and use other patterns as you get into your coding of the project, as this is the normal course of
software development. Allowing me to review your project concept will give you the go-ahead for proceeding. You should come up with a
legitimate problem concept that will benefit from your selection of patterns (see examples below). That is to say, your pattern selection should
all fit together to solve some legitimate business or scientific need. In short, come up with an interesting problem, and solve it using the
available design, architectural, and enterprise integration patterns. (You may additionally select from any of the patterns in Gamma et. al. for
design patterns and any of the patterns in Hohpe & Woolf). You may leverage Camel's implementations of any of the EIP patterns in your
delivery. You may leverage pattern implementations in Java (that is you may use Java Iterators, etc..., you do not have to write your own
Iterators as you had to do in the labs). You must use both ActiveMQ and Camel in your final deliverable.
Final Project
1/3
Some example project ideas:
1. One might design an auction site that takes in bids from various sources and produces a best bid output, announcing a "winner" after a
certain time. Multiple "auctions" would need to be run concurrently. Possible EIP patterns include Splitter, Aggregator, Message Channel
(Queue or Topic), Message Router, Message Endpoint (from/to), Invalid Message Channel, Content-Based Router, Point-to-Point Channel,
Publish-Subscribe Channel, etc. Possible Design Patterns include Singleton, Template Method (for calculating the winning bid), Iterator to
iterate through lists of auctions or lists of items being auctioned, Strategy (for pricing), etc. You might want to see the example in Hoppe and
Woolf pp. 276ff. for more on an auction example.
2. Or, one might design a portfolio management system that allows multiple/disparate instruments to be valued and displayed to
particular/appropriate customers. Possible EIP patterns include Splitter, Aggregator, Message Channel (Queue or Topic), Message Router, Message Endpoint (from/to), Invalid Message Channel, Content-Based Router, Point-to-Point Channel, Publish-Subscribe Channel, etc.
Possible Design Patterns include Singleton, Composite (for portfolios), Template Method (for calculating the winning bid), Iterator to iterate
through the Composite, Strategy (for pricing strategies, stats calculations, etc.), etc.
3. Or, one might design a typical integration problem where different data formats are shared by different "systems" (these systems can be very
very simple), and leverage a Canonical Data Model to pass messages back and forth between the various "systems". So for example, all
systems pass a trade around, but in one case, the trade is in XML format, in another case, a binary Java object, and in another case, a text file.
The "core" information (price, quantity, buy/sell, etc.) is contained within each system but is provided by the system in different formats.
Possible EIP patterns include Splitter, Aggregator, Message Translator, Message Filter, Message Channel (Queue or Topic), Message Router, Message Endpoint (from/to), Invalid Message Channel, Content-Based Router, Point-to-Point Channel, Publish-Subscribe Channel, etc.
Possible Design Patterns include Singleton, Template Method (for calculating the winning bid), Iterator to iterate through lists of auctions or
lists of items being auctioned, Strategy (for pricing), etc.
4. Or, one might design an RSS Aggregator that reads in multiple RSS feeds and acts on that (big) data. The strategies that might be applied to
the data may range from a fairly simple of aggregation of multiple feeds to one or more channels (like a "Yahoo Business" channel, a "CNN
Headlines" channel, etc.), or something more complicated and challenging that implements big data analytic strategies that may predictive
analytics, crowdsourcing, clustering and distance measurement, association mapping, etc. and puts calculation results onto various channels.
Note you may certainly leverage hadoop and map reduce but you need also to leverage the pattern requirements.
Other (previous) project proposals for the class (which may help you with models for your own proposals) may be found here.
Default Course Project:
If you're having trouble coming up with your own example, you may, if you so choose, use and implement this project idea as your own.
GRADING:
You can "extend" or "reuse" the patterns (and thus your code) used in a lab assignment in your final project, but the reused parts CANNOT be
the primary focus of the project--that is to say, you should not simply "string together" the lab assignments you've already written. Instead,
they can be used as a starting point for developing something new. The reused work should be an order of magnitude less significant than the
final project itself. If you choose to reuse lab work, you give us the license to take off some amount of points if we feel the final project was
not significantly different from the previously-submitted work.
In short, you can "reuse" any pattern(s) that you've used in a given lab, including some of the code.
Also, we need a detailed proposal of about 200 - 600 words (note that these general comments in this web page are about 1200 words) detailing
the following (those who have already been approved do not need to resubmit):
1. The General Topic (1 paragraph)
2. A Description of the Problem to be Solved (1-2 paragraphs)
3. A Listing of the EIP Patterns (6 or more) to be leveraged. HOW and WHY and WHERE?
4. A Listing of the Design Patterns (4 or more) to be leveraged. HOW and WHY and WHERE?
5. A Summary of the anticipated deliverable: About how many classes in the system? About how many source files?
6. A drawing (UML preferred) of your solution
A final project deliverable that is complex enough to make the graders happy should be somewhere between 1000 lines of code or more. Your mileage may vary.
A final note. The focus of the grading of the final project will be on (a) the depth of the problem engaged (b) the quality of your pattern
implementations in your coded solution to that problem more than on the sheer number of lines of code submitted. The above is more of a
guideline. No one will be counting your lines of code. This guideline is for YOU to use as a yardstick to conclude that a submission of 110
lines of Java that has an "AddEmUp" function at its core is probably not going to make anyone happy, most of all yourself.
Final Project
2/3
Final Project
3/3
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做 program、代写 c++设计程...
2024-12-23
comp2012j 代写、代做 java 设...
2024-12-23
代做 data 编程、代写 python/...
2024-12-23
代做en.553.413-613 applied s...
2024-12-23
代做steady-state analvsis代做...
2024-12-23
代写photo essay of a deciduo...
2024-12-23
代写gpa analyzer调试c/c++语言
2024-12-23
代做comp 330 (fall 2024): as...
2024-12-23
代写pstat 160a fall 2024 - a...
2024-12-23
代做pstat 160a: stochastic p...
2024-12-23
代做7ssgn110 environmental d...
2024-12-23
代做compsci 4039 programming...
2024-12-23
代做lab exercise 8: dictiona...
2024-12-23
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!