从manageOrder和OrderManager的命名演译面向对象思想

本文探讨了在软件开发过程中,如何从面向对象的角度出发,为类和方法选择合适的名称。通过对实例“订单管理”进行分析,展示了如何区分名词与动词在命名中的应用,并遵循了IDE的命名规范。
相信接触过订单系统的朋友对这2个词都不陌生,在写程序中,你是否遇到这样的困惑:给页面命名ordermanager还是manageorder,或者给按钮命名,给方法命名,又或者是ordersearch?还是searchorder?在烦恼应该用哪个名字之余,不妨另个思维去看看,order - manager 订单管理器, manage - order 管理订单, 是不是有点苗头了?对,一个是名词,一个是动词,再来看,对象!方法,不错,我们可以从面向对象的思想去思考它,订单管理器,有一个管理订单的方法,然后我们就可以把,搜索订单的方法都封装在一个叫订单管理器的类里,然后,怎么处理ordersearch还是searchorder呢? 先来个假设,我喜欢把搜索写在同一个类里,那么,应该是 ordersearch() ?还是 searchorder()?你会怎么命名? 首先,IDE会明确地提示你,方法的第一个字母是小写,所以,就有了orderSearch() 或 searchOrder(),然后,再从OOP的思想考虑,方法,应该是一种动作,所以,searchOrder()比较合理,当然了,你也可以直接search(),都是表示一种动作
网页呢?网页也是一种对象,所以,个人推荐ordermanager.jsp
另外,从window3.X刚出来时,不知大家有没有留意,我们用得最多的东西的命名:文档管理器 Document Manager!
再有就是,无聊的朋友可以打开java的IDE看一下,java无数的类库里的方法,看看它们的命名
OOP最基本的东西:对象,方法,属性
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/hujiangteng/Documents/workdata/xdf/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/hujiangteng/Documents/workdata/xdf/repository/ch/qos/logback/logback-classic/1.2.6/logback-classic-1.2.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationListener : org.springframework.boot.context.config.ConfigFileApplicationListener at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:438) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:420) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:413) at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:270) at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:250) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1214) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1203) at com.koolearn.old.manageorder.ApplicationStarter.main(ApplicationStarter.java:33) Caused by: java.lang.NoClassDefFoundError: org/springframework/core/ResolvableType at org.springframework.boot.context.properties.bind.Bindable.of(Bindable.java:202) at org.springframework.boot.context.config.ConfigFileApplicationListener.<clinit>(ConfigFileApplicationListener.java:116) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingCon
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值