本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- arpenker
- tanling8334
- kaizi1992
- gaojingsong
- 龙儿筝
- xpenxpen
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
- mwhgJava
最新文章列表
面向对象的设计原则_针对接口编程
接口
接口是一个对象中可以被另一个对象调用的一组方法
一个对象可以有多个接口
类型是一个对象的特殊接口
不同的对象可以有相同的类型,一个对象可以有多种不同的类型
一个对象只有通过它的接口才能被其他对象知晓
接口是可插拔的关键
实现继承和接口继承
实现继承(类继承)------ 一个对象的实现定义在另一个对象的实现的基础上
接口继承 ------ 描述了一个对 ...
面向对象的设计原则_组合优先于继承
组合
通过创建一个由其他对象组合的对象来获得新功能的重用方法
新功能的获得是通过调用组合对象的功能实现的
有时又叫聚合
例如:
一个对象拥有或者对另外一个对象负责并且两个对象有相同的生命周期。(GOF)
一个对象包含另一个对象集合
被包含对象对其他对象是不可见的并且只能从包含它的对象中访问的特殊组合形式
组合的优缺点
优点
被包含对象通过包含他们 ...
面向对象的设计原则_依赖倒转原则
动机
在一个应用程序中,我们有一些实现了基础的、主要的操作的底层类和一些封装了复杂逻辑的上层类。实现这种结构的很自然地方式就是,先编写底层类,完成后再编写复杂的上层类。因为上层类是由其他东西定义的,所以这看起来是一种很合理的方式。但是这不是一个灵活的设计,如果我们需要替换一个底层类时会发生什么?
让我们以经典的拷贝程序为例,它从键盘读取一些字符,然后把他们输出到打印设备上。包含该逻辑的 ...
面向对象的设计原则_开闭原则
动机
一个设计良好的应用程序应该充分考虑到开发和维护阶段需求的频繁变化,通常情况下,添加一个新的功能需要做出很多修改,我们应该使对已有代码的修改最小化,因为他们已经经过了测试。对现有代码做出修改将会以一种不可预料的方式影响它们的已有功能。
开放-关闭原则 (以下简称开闭原则)
开-闭原则:
一个软件实体应该对扩展开发,对修改关闭。
开闭原则是说我们应该努力设计不需要修改 ...
面向对象的设计原则_单一职责原则
动机
在本文中职责是指引起变化的原因。该原则表明,如果你有多个原因去改变一个类,那么应该把这些引起变化的原因分离开,把这个类分成多个类,每个类只负责处理一种改变。当你做出某种改变时,只需要修改负责处理该改变的类。当我们去改变一个具有多个职责的类时可能会影响该类的其他功能。
单一职责原则
一个类应该只受一种变化的影响。
单一职责原则简单而直观,但是在实际实现中可能是很困难的。
...
Calendar类add()与roll()方法的区别
JDK API中对这两个方法的说明如下:
abstract void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量。
abstract void roll(int field, boolean up)
在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。
void ...
对象与字节数组之间的转换
将对象转换成字节数组
public byte[] object2Byte(Object obj)throws IOException{
ByteOutputStream bos = new ByteOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
...
.Net三层框架,获取列表的全过程
做了些小笔记
数据访问层
private readonly string connString = ConfigurationManager.ConnectionStrings["MySchoolConnectionString"].ToString();
public List<Student> GetAllStudents()
{
...
ABAP-使用cl_oo_class获取类信息
REPORT zfsl_show_desktop.
TABLES : seoclass.DATA : zcl_oo_class TYPE REF TO cl_oo_class.
DATA : lt_attributes TYPE seo_attributes,ls_attributes TYPE vseoattrib,lt_methods TYPE seo_methods,ls_methods ...