程序设计案例_第1页
程序设计案例_第2页
程序设计案例_第3页
程序设计案例_第4页
程序设计案例_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内容提1.内容提1.2.3.4.唐大仕211写好程序的经写好程序的经唐大仕4写好程写好程5唐大仕5写好“单词写好“单词大小写:变量小写,方法名小写、类名大长度:单个字母的变量只能在三五行内含义:用特定少用temp,it,do等没有意义界面组件用匈牙利命名法(如唐大仕6例:使用中间变7例:使用中间变7唐大仕7例:使用中间变例:使用中间变8唐大仕8写好“单词”(续写好“单词”(续不要从天上掉下来一常量用final或字符串常如java.util.Propertiesload()9唐大仕9写好“语句简单语写好“语句简单语写好赋值语分支语使用循环语变量局部唐大仕例:使用卫语句(例:使用卫语句(Guard唐大仕写好“函数写好“函数使用卫语句降低还有try-catch的正确使用、Lambda表达式的使语句不要太层次不要太改变如果太复杂了,说明思路还不够清唐大仕例唐大仕例唐大仕例唐大仕例唐大仕写好“对象写好“对象高内聚、低耦不要太多的继承与实现关联:使用构造方法或普通更复杂的:使用设计模式唐大仕“定律写简单程代“定律写简单程代码永远不要写两推论:永远不要copy代唐大仕例唐大仕例唐大仕例唐大仕例唐大仕重复的代码:提炼重复的代码:提炼成函唐大仕编码规Java语言编码规Java语言编码规范(JavaCode/technetwork/java/codeconv-唐大仕22重唐重唐大仕重构重构通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋理,唐大仕使用重点使用重点右键,Refactor(重构 重命名(写好单词 Method提取方法(写好函数唐大仕一本好一本好Refactoring:ImprovetheDesignofExistingMartinFowler唐大仕代码的坏味代码的坏味 名字不清 取好名代码重 代码永远不要写第二代码过 写简单代码:提炼函代码层次过 唐大仕坏味道列•••••••••••1、坏味道列•••••••••••1、 (重复代码2、LongMethod过长函数3、LargeClass过大类4、LongParameterList过长参数列)5、DivergentChange发散式变化)6、ShotgunSurgy(散弹式修改)8、(数据泥团9、Obsession(基本型别偏执10、SwitchStatements(Switch惊悚现身11、 (平行继承体系唐大仕坏味道列表•••••••••••坏味道列表•••••••••••12、LazyClass(冗赘类13、SpeculativeGenerality夸夸其谈未来性)14、TemporaryField(令人迷惑的暂时值域)15、MessageChains(过度耦合的消息链)16、MiddleMan(中间人17、(狎昵关系18、19、(异曲同工的类ClasseswithDifferentLibraryClass不完整的程序类库20、DataClass(单纯的数据类21、RefusedBequest(被拒绝的遗赠唐大仕如何保证代码正确使用如何保证代码正确使用JUnit测重构以后仍然要保证测试是通在Eclipse中,new—唐大仕33设计模设计模唐大仕设计模设计模式设计模设计模式其中,最核心的思想就是“适应变化唐大仕一本好GoF一本好GoF唐大仕更易读的更易读的唐大仕GoF设计模式的GoF设计模式的分这些设计经验可以被重用,但不是简单的代码CreationalStructuralBehavioral唐大仕经典的23种模唐大仕经典的23种模唐大仕类工厂方法(Factory适配器解释器模板方法(Template对抽象工厂(Abstract原型(Prototype)责任链(Chainof设计模式的原设计模式的原尽量不要去修改原有的类,但却可以扩展现有的功子类必须能够替换它们的基客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接唐大仕JDK中的设计模JDK中的设计模/questions/1673841/examples-of-design-唐大仕创建模式Singleton(单例创建模式Singleton(单例作用:保证类只有一个实例;只允许一个实例。这比static量要唐大仕Factory(静态工厂)作Factory(静态工厂)作用(1)代替构造函数创建对象(2)简单来说,按照需求返回一个类型的实例唐大仕AbstractAbstractFactoryAbstractAbstractFactory(抽象工厂)作用创建一组唐大仕结构Adapter(适配结构Adapter(适配器作用:使不兼容的接口把一个接口或是类变成另外一种唐大仕Composite(组合Composite(组合)作用:一致地对待组合对象和独立对让使用者把单独的对象和组合对象混用唐大仕Decorator(装饰器)作用Decorator(装饰器)作用为类添加新的功能;防止类继承带来的爆炸式为一个对象动态的加上一系列的动作,而不需要因为这些动作的不同而产生唐大仕行为Observer(观察行为Observer(观察者作用:通知对象状态允许一个对象向所有的侦听的对象广播自己的消息或事btn.addActionListener(。。。唐大仕GRASP模Pattern)通用职责软件分配模式GRASP模Pattern)通用职责软件分配模式1 Expert(信息专家2Creator(创造者3 Coupling(低耦合4 Cohesion(高内聚5Controller(控制器6Polymorphism(多态7 Fabrication(纯虚构8Indirection(间接9 Variations(受保护变化唐大仕44反唐反唐大仕在运行状在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对任意一个对象,都能够调用它的任意一个方法和属性唐大仕Class对首先要得到类的Class对首先要得到类的得到Class对象的三种方类名Class<?>cls=对象Stringstr=Class<?>cls=str唐大仕得到字段及方得到字段及方由Class获得该类的信得到成员(字段、方法例唐大仕动态创建对动态创建对例加了反射功能唐大仕再谈再谈JDK内置的唐大仕自定义注使用@interface自定义注使用@interface来定义一个类型,表示它是一个注使用方法名()表示它的一个属性(值或数组(其value()是默认属性)使用default表示其默// //这个表明可以用反射来读取 DebugTime{booleanvalue()defaulttrue;longtimeout()default100;Stringmsg();int[]other()default{};}••••••••••唐大仕注记的使@(属性=值注记的使@(属性=值属性={值,值}//使用注class{publicdoublefib(int••••••••timeout=10,msg="时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论