Redian新闻
>
Java wrapper这么多干嘛?看公司里这个例子
avatar
Java wrapper这么多干嘛?看公司里这个例子# Programming - 葵花宝典
a*4
1
明天第一张信用卡history整整满一年,打算申个FIA 2% on everything,填Country
of
citizenship时应该填China么 还是USA?因为听说申Citi CC时必须说自己是resident
什么的
PS 整一年前申的Chase+1,整半年前申的Freedom,现在挑了很长时间还是感觉FIA最好
, 其他
Bluecash之类的我们小地方中国店不能用,伸了有点浪费;还有版上整天飞的AA CO BA
等牛卡我
History太短就不挑战了,如果有其他好卡请大家推荐哈
谢谢
avatar
Q*e
2
VB前进的很快。交485后多久可以离开原公司?有规定吗?
avatar
s*w
3
class1 {
handler() {
try {
// basically 1 line here
sth1Facade.doSth();
} catch (e) {
...
}
}
}
sth1Facade {
doSth() {
// less than 8 lines here
sth2Facade.doSthElse();
foreach(
sth3Facade.doAnotherThing();
}
}
}
handler真正有用的就一句话,调用sth1Facade,尼玛这都是干嘛?非要加一个
sth1Facade,把逻辑放到sth1Facade里。
avatar
p*n
4
fia amex不会因为你是china而据你的
avatar
B*g
5
180天,包子

【在 Q*****e 的大作中提到】
: VB前进的很快。交485后多久可以离开原公司?有规定吗?
avatar
w*g
6
java不都这样吗?

【在 s*****w 的大作中提到】
: class1 {
: handler() {
: try {
: // basically 1 line here
: sth1Facade.doSth();
: } catch (e) {
: ...
: }
: }
: }

avatar
n*p
7
能给个链接吗?
avatar
f*u
8
180
avatar
c*v
9
放出来倒没啥。这是个名字错误吧。
doTing()
doElseThing()
doAnotherThing()
这三个方法假如是同层次概念。我会放在一个类里面。
doxxthing
call 另一个doxxxthing,
后者应该改个名字。

【在 s*****w 的大作中提到】
: class1 {
: handler() {
: try {
: // basically 1 line here
: sth1Facade.doSth();
: } catch (e) {
: ...
: }
: }
: }

avatar
l*y
10
FIA Visa只有1.5%,还是申Amex吧
填China没问题
有一年可以试试里程卡了
avatar
m*l
11
<=180, baozi

【在 Q*****e 的大作中提到】
: VB前进的很快。交485后多久可以离开原公司?有规定吗?
avatar
s*w
12
加一个wrapper真的有那么大的意义吗?

【在 w***g 的大作中提到】
: java不都这样吗?
avatar
Q*e
14
<=180 还是 >=180? 如<=180,岂不是交完就可以离开了?
马上给三位发包子。

【在 m*******l 的大作中提到】
: <=180, baozi
avatar
a*i
15
这个很明显是异常处理吧
不然在上一层你怎么做?每一行代码都加try catch?

【在 s*****w 的大作中提到】
: class1 {
: handler() {
: try {
: // basically 1 line here
: sth1Facade.doSth();
: } catch (e) {
: ...
: }
: }
: }

avatar
m*l
17
<=180
but to make it safe you should wait 180

【在 Q*****e 的大作中提到】
: <=180 还是 >=180? 如<=180,岂不是交完就可以离开了?
: 马上给三位发包子。

avatar
s*w
18
那为啥要sth1Facade,直接这么写不就是了?
class1 {
handler() {
try {
// less than 8 lines here
sth2Facade.doSthElse();
foreach(
sth3Facade.doAnotherThing();
}
} catch (e) {
...
}
}
}

【在 a****i 的大作中提到】
: 这个很明显是异常处理吧
: 不然在上一层你怎么做?每一行代码都加try catch?

avatar
a*4
19
嘿嘿,我对AMEX的CC很有好感,半年前试了一下SPG悲剧了,弄得现在很老实连任何一
张里程卡都不敢
申。可惜了FIA享受不到AMEX的服务质量啊

【在 l****y 的大作中提到】
: "其他Bluecash之类的我们小地方中国店不能用"
: 我以为你不想要Amex,误会了

avatar
t*1
20
我最近也在考古这个问题
如果是自己主动离开公司,比较安全的是交485的180天之后
avatar
d*n
21
Facede 这名词 好像老的 Spring里经常用
我理解 handler 相当于一个 route 的 controller
Controller 通常要求 thin 目的是把逻辑 dispatch 到相应的 service里面
Service 可以写很多逻辑的而且 service 本身也可以有很多层
再到下面就是 repository layer 这层也需要thin
这里的 Facede 我感觉就是我service
代码这东西 没有对错 但是如果要成仙frameworks 就要有一定之规 而thin
controller 把业务逻辑下放到家Service 就是说Spring 或者java web frame用的 大
家认可的那个规矩
avatar
s*r
22
为啥中国店不能用blue cash?
avatar
Q*e
23
不安全的地方是由于什么原因?

【在 t*******1 的大作中提到】
: 我最近也在考古这个问题
: 如果是自己主动离开公司,比较安全的是交485的180天之后

avatar
s*w
24
新的java framework还这么搞吗?

【在 d*******n 的大作中提到】
: Facede 这名词 好像老的 Spring里经常用
: 我理解 handler 相当于一个 route 的 controller
: Controller 通常要求 thin 目的是把逻辑 dispatch 到相应的 service里面
: Service 可以写很多逻辑的而且 service 本身也可以有很多层
: 再到下面就是 repository layer 这层也需要thin
: 这里的 Facede 我感觉就是我service
: 代码这东西 没有对错 但是如果要成仙frameworks 就要有一定之规 而thin
: controller 把业务逻辑下放到家Service 就是说Spring 或者java web frame用的 大
: 家认可的那个规矩

avatar
s*3
26
NIW不存在这个问题吧!!
avatar
a*i
27
是可以啊,但是多了一层try catch,比较难看
代码写了是人看的不是
convention大家都在handler里catch,doSomething()着重在logic上
没什么不对

【在 s*****w 的大作中提到】
: 那为啥要sth1Facade,直接这么写不就是了?
: class1 {
: handler() {
: try {
: // less than 8 lines here
: sth2Facade.doSthElse();
: foreach(
: sth3Facade.doAnotherThing();
: }
: } catch (e) {

avatar
b*k
28
因为中国店不收amex

【在 s*****r 的大作中提到】
: 为啥中国店不能用blue cash?
avatar
s*w
29
你的意思是down stream的exception全都bubble up到handler()这一层来catch ?
这个倒是不错。虽然我觉得在handler里catch 2+ facade也行,不必要只能一个facade.

【在 a****i 的大作中提到】
: 是可以啊,但是多了一层try catch,比较难看
: 代码写了是人看的不是
: convention大家都在handler里catch,doSomething()着重在logic上
: 没什么不对

avatar
b*k
30
no

【在 p********y 的大作中提到】
:
: freedom的沃尔玛算grocery吗?

avatar
n*t
31
美國人的公司不能把人可以不幹活也可以拿工資寫到檯面上的結果就是全是這種code。
目的只有一個就是證明自己存在有價值。

【在 s*****w 的大作中提到】
: class1 {
: handler() {
: try {
: // basically 1 line here
: sth1Facade.doSth();
: } catch (e) {
: ...
: }
: }
: }

avatar
l*y
32
这卡做工挫,客服也挫。。
嗯,就看看reward好了

【在 a*****4 的大作中提到】
: 嘿嘿,我对AMEX的CC很有好感,半年前试了一下SPG悲剧了,弄得现在很老实连任何一
: 张里程卡都不敢
: 申。可惜了FIA享受不到AMEX的服务质量啊

avatar
m*a
33
https://www.mitbbs.com/article/Programming/31544451_0.html
比如print一句hello world吧。main函数里print一下?太面向过程,太low了。
得封装一个类。叫Printer. Printer有个成员方法,叫print。但是!光一个类太low
了,以后要是有不同的实现怎么办?所以得加一个接口。PrinterInterface。
但是!interface是没有实现的,还是要有默认实现才行。所以得加个虚拟类,
AbstractPrinter实现PrinterInterface,然后Printer继承AbstractPrinter。但是!
你有了那么一套,该怎么创建实例呢?直接new Printer()?太low了,那叫实现依赖。
肯定不行的,所以要搞一个工厂类,PrinterFactory,PrinterFactory用
PrinterInterface返回实例,这样就隐藏了实现细节了。但是!PrinterFactory本身也
是实现类啊,太low了,所以得有PrinterFactoryInterface, AbstractPrinterFactory
. 而且在PrinterFactory里面该怎么写呢?直接new Printer()? 太low了。还是实现依
赖。
最后,你要把这一堆玩意在代码里组装起来,也太难看了,各种new实现类。太low!好
在我们有个高级玩意,叫依赖注入!把程序对象结构全写到配置文件里面。这一套当然
是不能自己造轮子的。配置Spring吧。搞了那么多lib,靠命令行或者IDE的项目管理肯
定不够啊,得有依赖管理。
Maven啊Gradle啊使劲上。最最后,要print的东西怎么传给程序呢?硬编码?命令行传
参数?太low!当然得写在XML里头。光是XML当然还不够企业级,再加上DTD验证吧。然
后就涉及到了XML解析的问题了。代码里直接操起parser吗?太low! 当然要写个parser
的包装类,interface, abstract class, implementation class, factory class再来
一套。
毕竟,不能依赖实现啊,以后我要是换parser了怎么办。所以最后是成品是一堆配置文
件,一堆jar,compile出来的程序200MB。IDE得装上300个插件,打开项目硬盘响老半
天吃掉2GB内存,然后一堆插件弹提示要求升级。哦对了,在这一切发生之前,还得画
UML图呢。三年后项目完工了,部署到客户的服务器上一跑,立马崩溃,一地的stack
trace。
原来客户服务器上用的是JDK 8而新项目需要JDK 11. 然后问客户你们不能升级吗,答
案是不行,因为另外一个企业级开发组给做的企业级解决方案只支持JDK 8。接着客户
把你们的架构师臭骂了一顿,你搞了那么多设计就没有想过可能会换JDK吗?
http://www.mitbbs.com/bbsann2/chinese.faq/WashingtonDC/D13455539052B0/M.1334766600_2.D0/.NET%D6%AA%CA%B6%B5%E3
1:懂得直接写HELLO WORLD
2:懂得弄个function,然后整出HELLO WORLD
3:懂得弄个Interface+Abstract Class+Implement Class写出HELLO WORLD
4:懂得Dependency Injection依然是弄出个HELLO WORLD
5:Predicate Builder/Reflection
6:常用的Design Pattern: Data Repository/Factory method/Singleton
3-6都精通,保证你年薪6位以上,而且基本是摸到框架师的边了
====================================================
链接:https://www.zhihu.com/question/23757237/answer/25564019
一句话To A Man with a Hammer, Everything Looks Like a Nail.举个明白点的例子
,转个之前看到的东西让我们专注于这个例子。这个问题很经典:写一个在标准输出打
印“你好世界!”的程序(在 Java 中):System.out.println("hello world");代码
看起来太简单了。让我们能不能用用几个设计模式?看看……首先我们定义两个接口对
象和监听器来增加监听器。public interface Subject {
public void attach(Observer observer);
public void detach(Observer observer);
public void notifyObservers();
}
public interface Observer {
public void update(Subject subject);
}再定义 HelloWorldSubject 和 HelloWorldObserver 然后实现它们。 private
ArrayList observers;
private String str;
public HelloWorldSubject() {
super();
observers = new ArrayList();
}
public void attach(Observer observer) {
observers.add(observer);
}
public void detach(Observer observer) {
observers.remove(observer);
}
public void notifyObservers() {
Iterator iter = observers.iterator();
while (iter.hasNext()) {
Observer observer = iter.next();
observer.update(this);
}
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
notifyObservers();
}
}
public class HelloWorldObserver implements Observer {
public void update(Subject subject) {
HelloWorldSubject sub = (HelloWorldSubject)subject;
System.out.println(sub.getStr());
}
}然后我们增加一个命令。public interface Command {
void execute();
}
public class HelloWorldCommand implements Command {
private HelloWorldSubject subject;
public HelloWorldCommand(Subject subject) {
super();
this.subject = (HelloWorldSubject)subject;
}
public void execute() {
subject.setStr("hello world");
}
}然后我们增加一个抽象工厂。public interface AbstractFactory {
public Subject createSubject();
public Observer createObserver();
public Command createCommand(Subject subject);
}
public class HelloWorldFactory implements AbstractFactory {
public Subject createSubject() {
return new HelloWorldSubject();
}
public Observer createObserver() {
return new HelloWorldObserver();
}
public Command createCommand(Subject subject) {
return new HelloWorldCommand(subject);
}
}然后最后地,一个单件。public class FactoryMakerSingleton {
private static FactoryMakerSingleton instance = null;
private AbstractFactory factory;
private FactoryMakerSingleton() {
factory = new HelloWorldFactory();
}
public static synchronized FactoryMakerSingleton getInstance() {
if (instance == null) {
instance = new FactoryMakerSingleton();
}
return instance;
}
public AbstractFactory getFactory() {
return factory;
}
}最后是主类。public class AbuseDesignPatterns {
public static void main(String[] args) {
AbstractFactory factory = FactoryMakerSingleton.getInstance().
getFactory();
Subject subject = factory.createSubject();
subject.attach(factory.createObserver());
Command command = factory.createCommand(subject);
command.execute();
}
}然后输出:Hello World哇,我们在 Hello World 中用了四个设计模式耶!(好吧,
其实还有一个迭代器,但我们使用了 Java 的内建迭代器)这一定是一个优秀的设计!
avatar
p*y
34

对,我刚上去查了一下了,是others.
ft.那楼上的楼上...为什么说7-9月买菜靠freedom呢?请问您是在哪家店买菜的啊

【在 b*******k 的大作中提到】
: no
avatar
a*i
35
是这个意思
至于你觉得怎么样更好,可以在组里提出来,让大家follow

facade.

【在 s*****w 的大作中提到】
: 你的意思是down stream的exception全都bubble up到handler()这一层来catch ?
: 这个倒是不错。虽然我觉得在handler里catch 2+ facade也行,不必要只能一个facade.

avatar
s*r
36
晕,那还申fia amex的卡,这个卡跟买菜有啥关系。。。

【在 b*******k 的大作中提到】
: 因为中国店不收amex
avatar
b*k
37
所以我也没懂这种傻查逻辑

【在 s*****r 的大作中提到】
: 晕,那还申fia amex的卡,这个卡跟买菜有啥关系。。。
avatar
p*y
38

对啊,买点贵的东西,还要三天两头给他打电话

【在 l****y 的大作中提到】
: 这卡做工挫,客服也挫。。
: 嗯,就看看reward好了

avatar
a*4
39
你们什么逻辑?我啥时候说申FIA是用来买菜了?
还有那个谁,你凭啥认为我们会去walmart用freedom买菜?我们这地方小,也就去去中
国店外加MeijerKrogerGianteagle等地方就足够了,用不着去那么super的market
avatar
a*4
40
我还是经常去中国店的,所以bluecash对我来说不实用,7-9月freedom有5%怎么有问题
了?
我一个月也就花1k多一点,车和房租占一大半,都可以用FIA搞定啊
avatar
l*y
41
主要是你提了点无关话题,呵呵
羡慕可以用credit card交房租的,房租水电啥的占我一半开销,只能checking。。。

【在 a*****4 的大作中提到】
: 我还是经常去中国店的,所以bluecash对我来说不实用,7-9月freedom有5%怎么有问题
: 了?
: 我一个月也就花1k多一点,车和房租占一大半,都可以用FIA搞定啊

avatar
a*4
42
呵呵,我以前也是checking交房租的,去年搬到学校的family housing才可以用信用卡
,不过房租也贵了不少。

【在 l****y 的大作中提到】
: 主要是你提了点无关话题,呵呵
: 羡慕可以用credit card交房租的,房租水电啥的占我一半开销,只能checking。。。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。